【发布时间】:2014-06-18 03:36:18
【问题描述】:
我了解从域名中获取IP地址的过程,联系名称服务器的层次结构直到返回地址,但是当一个IP地址对应多个域名时,请求如何解析?如果我设置一个 Apache 服务器,有没有一种方法可以区分这些不同的域?
【问题讨论】:
我了解从域名中获取IP地址的过程,联系名称服务器的层次结构直到返回地址,但是当一个IP地址对应多个域名时,请求如何解析?如果我设置一个 Apache 服务器,有没有一种方法可以区分这些不同的域?
【问题讨论】:
当您反向解析一个 IP 时,它将返回到它在该区域中的 PTR 记录,该记录只有一个。例如 www.google.com
Non-authoritative answer:
Name: www.google.com
Addresses: 2607:f8b0:4007:800::1010
74.125.224.242
74.125.224.244
74.125.224.240
74.125.224.241
74.125.224.243
但 74.125.224.242 反向解析为:
Name: lax04s08-in-f18.1e100.net
Address: 74.125.224.242
而不是 www.google.com。
===
apache 服务器本身使用配置文件中的 Listen 指令侦听一个独立于附加到该 ip 的主机名的 IP 地址。 Apache 只想听到来自该 IP 上的端口 80 的数据。
监听 *:80
或
监听 AAA.BBB.CCC.DDD:80
当您设置虚拟主机时,Apache 能够从标头中提取主机名并将其发送到正确的 DocumentRoot 以处理您使用该主机名呈现的页面。
例子:
<VirtualHost *:80>
ServerName www.server.com
ServerAlias server.com
DocumentRoot "c:\htdocs\wwwroot"
</VirtualHost>
<VirtualHost *:80>
ServerName www.server2.com
DocumentRoot "c:\htdocs\wwwroot2"
</VirtualHost>
希望这会有所帮助。
【讨论】: