作为一名 Web 开发人员,我在本地计算机上运行了一台 Apache 服务器,用于开发。默认情况下,该服务器监听端口 80 上的每个 IP 地址。但是,我使用 httpd.conf 来控制谁可以访问该服务器,基本上就是我和 LAN 上的其他人,不允许外部访问。
我还配置了一些虚拟主机。httpd-vhosts.conf 文件中的内容如下:
NameVirtualHost localhost:80
<VirtualHost localhost:80>
DocumentRoot "C:\Users\Nazgulled\Workspace\Htdocs\Project1"
ServerName project1.domain.com
</VirtualHost>
在我的本地机器上,我通过导航到 project1.domain.com 来访问该项目网站(相同的地址指向 hosts 文件中的 127.0.0.1)。
在 VMware 客户机上,我可以轻松指向主机的 IP 地址(使用 NAT,因为它对我来说效果更好/更快)并访问 Web 服务器的根目录,但我无法访问导航到 project1.domain.com 的项目网站。我尝试将该地址指向 hosts 文件中主机的 IP 地址(就像我在本地机器上所做的那样,但使用不同的地址),但没有成功。
我尝试过的一件事是用 *:80 替换 localhost:80,但似乎没有任何效果。
我没有其他想法可以让它发挥作用,有什么建议吗?
答案1
建议:
您说得对,您需要将 localhost:80 更改为 *:80。
将 ErrorLog 和 CustomLog 添加到该 VirtualHost 并检查它是否提供了任何有用的信息。
要调试,请尝试:
curl -H "Host:project1.domain.com" IP-of-your-server
这至少会给你一个来自 Apache 的错误消息。
如果 curl 超时,那么你可能遇到了一般的网络问题。