使用 Apache 和 VirtualHost 创建 ReverseProxy

使用 Apache 和 VirtualHost 创建 ReverseProxy

我正在尝试在 Apache 上设置反向代理,但在使用 时遇到了一些问题VirtualHost。我需要做的就是将请求代理/test到本地端口8000。以下 .conf 条目可以正常工作:

ProxyPreserveHost On
ProxyPass "/test" "http://127.0.0.1:8000"
ProxyPassReverse "/test" "http://127.0.0.1:8000"

但是当我加入VirtualHost其中时,代理不起作用。以下是我尝试使用以下方法实现反向代理VirtualHost

<VirtualHost *:80>
ServerName example.com
ProxyPreserveHost On
ProxyPass "/test" "http://127.0.0.1:8000"
ProxyPassReverse "/test" "http://127.0.0.1:8000"
</VirtualHost>

我在 CentOS 7.3 上运行 Apache v2.4.5。所有这些配置都位于 Apacheconf.d文件夹中的单独文件中。

答案1

您可能需要在 VirtualHost 中添加此项:

<Proxy *>
  Order Allow,Deny
  Allow from all
</Proxy>

其他原因可能是:第一个虚拟主机指令与后续虚拟主机的设置“重叠”。

相关内容