我是Apache web服务器的新手。配置Apache服务器时,我们有设置name-based virtual host的选项。
根据我的理解,当用户在web浏览器中输入域名www.example.com时,它将连接到DNS服务器,该服务器将域名转换为(公共) IP地址。然后,web浏览器将使用IP地址连接到web服务器。
现在,假设我有一个具有公共IP地址的服务器,a.a.a.a。我注册了两个域名,www.example.com和www.example1.com。这两个域名都指向相同的IP地址,a.a.a.a。因此,当用户在其web浏览器中输入www.example.com或www.example1.com时,DNS服务器将指向他们IP地址a.a.a.a。
根据本网站的用户指南,我已经配置了基于名称的虚拟主机。
但是,我不明白的是:由于DNS服务器已经将域名转换为IP地址,所有用户都将使用IP地址a.a.a.a连接到web服务器。Apache如何知道用户是在他们的web浏览器中使用www.example.com还是www.example1.com?
发布于 2012-09-16 04:44:28
http标头将包含主机。在上面的示例中,这将是www.example.com或www.example1.com。这个主机头由apache读取,然后用于向客户端发送正确的vhost。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23
https://serverfault.com/questions/428807
复制相似问题