简单的 Apache 代理不起作用

简单的 Apache 代理不起作用

我只是想测试一个简单的反向代理设置,将每个请求重定向到谷歌。无论如何它不起作用!尝试在本地主机上浏览,我只得到 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

相关内容