Apache配置代理通过

时间:2018-10-30 11:58:58

标签: apache

我想配置服务器以通过代理传递来监听localhost地址。  拳头,我添加了如下的代理通过配置:

ProxyPass         /test  http://localhost:5959/ nocanon
ProxyPassReverse  /test  http://localhost:5959/
ProxyPassReverse  /test  http://domain_name.net/

索引工作正常,但是问题是当我单击某个按钮以将其重定向到另一页时。我预计重定向将类似于:http://domaine_name.net/test/anotherpage.php,但没有用。

我尝试了另一种配置,但是没有用

ProxyPass         /test/  http://localhost:5959/test/
ProxyPassReverse  /test/ http://localhost:5959/test/
ProxyPassReverse  /test/  http://domain_name.net/test/

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

请勿放置2个ProxyPassReverse指令。只有一个。并且它应该与ProxyPass目的地匹配。因此只需要您的第一个ProxyPassReverse

ProxyPass         /test  http://localhost:5959/ nocanon
ProxyPassReverse  /test  http://localhost:5959/

摘自ProxyPassReverse,(https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxypassreverse)的文档:

  

此指令可让Apache httpd调整位置中的URL,   HTTP重定向响应上的Content-Location和URI标头。 [...]


您在问题中说:

  

我希望重定向如下:   http://domaine_name.net/test/anotherpage.php,但是没有用。

这很正常。代理将最终的目标服务器隐藏到客户端。如果要重定向客户端,请不要使用代理。使用mod_rewrite(RewriteRule等)。