我正在准备一个配置了两个虚拟服务器的 Web 服务器。它们都监听端口 80 和 443,并且根据您调用它的名称为其中一个提供服务。该服务器有一个指向其中一个虚拟服务器的 DNS 名称,该虚拟服务器正在生产中。但是,我不知道如何测试辅助虚拟服务器,因为它仍然没有被 DNS 名称指向。通常,在单个虚拟服务器环境中,我只需指向 IP 并查看它如何响应,但我现在不知道该怎么做,因为当我在 Web 服务器上输入 IP 地址时,它会显示其中一个服务器:我不知道它如何决定哪一个。
答案1
hosts
使用服务器 IP 地址和虚拟主机域名将条目添加到本地文件:
192.0.2.5 vhost.example.com
然后在浏览器地址窗口中输入 vhost 域名,它将绕过 DNS 机制,转到您相关的服务器。
hosts
文件是/etc/hosts
类Unix的并且(我认为)Windows\system32\drivers\etc\hosts
在Windows中。
另一种快速测试的方法是直接谈论 HTTP 协议:telnet 192.0.2.5 80
,然后在 telnet sessing 中写入:
GET / HTTP/1.1
Host: vhost.example.com
Connection: close
在最后一行之后按Enter
两次,这个双 crlf 标记 HTTP 标头的结束。您将从所需的虚拟主机获得回复。