我只是想测试一个简单的反向代理设置,将每个请求重定向到谷歌。无论如何它不起作用!尝试在本地主机上浏览,我只得到 apache“它有效”默认页面,但没有代理。
当然,我加载了代理模块 proxy_http。以下文件位于 sites-available 下,符号链接位于 sites-enabled 中。我还重新启动了服务器。可能出了什么问题?
<VirtualHost 192.168.1.2:8080>
ProxyRequests off
ProxyPreserveHost On
<proxy *>
Order deny,allow
Allow from all
</proxy >
ProxyPass / http://www.google.de
ProxyPassReverse / http://www.google.de
</VirtualHost >
答案1
默认 vhost(提供来自的内容/var/www
,“它有效”页面位于此处)正在获取请求。
它首先加载,并且您没有ServerName
为新虚拟主机指定,因此“默认”虚拟主机将接收每个请求。运行apache2ctl -S
- 它将向您显示它如何分配请求。
如果您不想使用默认站点,请使用 禁用它a2dissite default
,然后重新启动 Apache - 然后请求将被发送到您的新代理<VirtualHost>
。
此外,代理时尾部斜杠应始终匹配。将其添加到末尾:
ProxyPass / http://www.google.de/
ProxyPassReverse / http://www.google.de/
答案2
如果其他人也遇到这个问题,请注意仅重新加载 apache 是不够的。
我必须重新启动 Apache。
sudo service apache2 restart