我的 Mac OS X Lion 盒子上装有 apache2,并开启了基于名称的虚拟主机。
NameVirtualHost *:80
<VirtualHost *:80>
ServerName my.puter.edu
DocumentRoot "/path/to/Sites"
<Directory "/path/to/Sites">
...
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName foo.local
ProxyPass / http://127.0.0.1:25012/
ProxyPassReverse / http://127.0.0.1:25012/
</VirtualHost>
<VirtualHost *:80>
ServerName bar.local
ProxyPass / http://127.0.0.1:25013/
ProxyPassReverse / http://127.0.0.1:25013/
</VirtualHost>
我的/etc/hosts
文件有以下条目
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 foo.local
127.0.0.1 bar.local
184.72.115.86 search.yahoo.com
从命令行我可以成功ping my.puter.edu
、ping foo.local
和ping bar.local
。但从浏览器中我只能访问http://my.puter.edu。浏览器无法与 foo.local 和 bar.local 建立连接。
有什么建议吗?
答案1
根据您的配置,这可能是您在 foo.local 和 bar.local 中使用的 apache 代理的问题
<VirtualHost *:80>
ServerName foo.local
ServerAlias bar.local
ProxyPass / http://127.0.0.1:25012/
ProxyPassReverse / http://127.0.0.1:25012/
</VirtualHost>
25012 端口后面正在运行什么(它们真的在运行吗?)?你检查过 Apache 日志吗?调试时,浏览器错误输出无法与日志文件的详细程度相匹配。