我的本地开发环境由一台装有 OSX El Capitan 10.11.6 的 Mac 组成。我安装了 Apache 2.4.28。
我的虚拟主机配置似乎出了问题,因为当我尝试使用别名 URL 访问我的本地网站时,它们都无法正常工作。它们都导致“DNS 错误”并显示 502 状态。
我的 httpd-vhosts.conf 具有以下配置:
<VirtualHost *:80>
ServerName myaccuen.booking.test
ServerAlias www.myaccuen.booking.test
DocumentRoot "/Users/john.doe/Sites/myaccuen-booking/public"
<Directory "/Users/john.doe/Sites/myaccuen-booking/public">
AllowOverride all
</Directory>
</VirtualHost>
因此在 /etc/hosts 中我有以下条目:
127.0.0.1 myaccuen.booking.test www.myaccuen.booking.test
在命令行中运行 ping myaccuen.booking.test 会产生以下输出:
64 bytes from 127.0.0.1: icmp_seq=67 ttl=64 time=0.078 ms
64 bytes from 127.0.0.1: icmp_seq=68 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=69 ttl=64 time=0.095 ms
^C
--- myaccuen.booking.test ping statistics ---
70 packets transmitted, 70 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.024/0.083/0.184/0.031 ms
发生这种情况时,Apache 错误日志中不会记录任何内容。
当我运行时,sudo lsof -i :80
输出以下内容:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 2007 root 5u IPv6 0x541c6553e1ecf9ad 0t0 TCP *:http (LISTEN)
httpd 2013 _www 5u IPv6 0x541c6553e1ecf9ad 0t0 TCP *:http (LISTEN)
httpd 2204 _www 5u IPv6 0x541c6553e1ecf9ad 0t0 TCP *:http (LISTEN)
httpd 2205 _www 5u IPv6 0x541c6553e1ecf9ad 0t0 TCP *:http (LISTEN)
httpd 2206 _www 5u IPv6 0x541c6553e1ecf9ad 0t0 TCP *:http (LISTEN)
rpc.geo 32041 root 5u IPv4 0x541c6553f68452dd 0t0 TCP 10.140.208.29:64083->search.namequery.com:http (CLOSED)
SophosSXL 33937 root 7u IPv4 0x541c6553fae302dd 0t0 TCP 10.140.208.38:53453->ec2-54-247-166-17.eu-west-1.compute.amazonaws.com:http (ESTABLISHED)
SophosSXL 33937 root 15u IPv4 0x541c6553fba820ed 0t0 TCP 10.140.208.38:53454->ec2-54-247-166-17.eu-west-1.compute.amazonaws.com:http (ESTABLISHED)
rpc.net 37659 root 5u IPv4 0x541c6553f5e05efd 0t0 TCP 10.140.208.29:53347->search.namequery.com:http (ESTABLISHED)
上面看起来还好吗?
我觉得我忽略了一些简单的事情,但又说不上来具体是什么。
我认为原因是工作防火墙、Z 缩放器干扰。
欢迎提出任何有助于调试和找出问题原因的建议。
答案1
我的服务器名无法用于本地网站的原因实际上是公司防火墙 Zscaler。
我通过重新启动 Zscaler 解决了这个问题(我没有关闭它的权限)。在防火墙重新启动时,我在浏览器中尝试了虚拟主机服务器名称/别名,应用程序加载时没有任何错误。