ProxyPass内部重定向

时间:2014-03-03 17:20:50

标签: apache nexus proxypass

我正在尝试设置两个Apache ProxyPass规则以指向不同的Nexus服务器。我想要的是:

http://mainserver/nexus - > http://server1:8080/nexus

http://mainserver/nexus-pro - > http://server2:8081/nexus

我已将其设置为使用我们的原始服务器,但添加第二个规则会导致请求nexus-pro通过/ nexus重定向到主apache服务器,然后将其转发到错误的服务器上,因此:

http://mainserver/nexus-pro - > http://mainserver/nexus - > http://server1:8080/nexus

我想这是Nexus正在做的事情,但我并没有真正控制它。

这是我当前的Apache配置,我需要更改什么?

ProxyPass /nexus http://server1:8080/nexus
ProxyPassReverse /nexus http://server1:8080/nexus

ProxyPass /nexus-pro http://server2:8081/nexus
ProxyPassReverse /nexus-pro http://server2:8081/nexus

ProxyPreserveHost On

2 个答案:

答案 0 :(得分:1)

在给定的部分中,Apache httpd配置按照它们在配置中出现的顺序进行处理。如果转置这两个定义,则更明确的/ nexus-pro将覆盖/ nexus定义。

ProxyPass /nexus-pro http://server2:8081/nexus
ProxyPassReverse /nexus-pro http://server2:8081/nexus

ProxyPass /nexus http://server1:8080/nexus
ProxyPassReverse /nexus http://server1:8080/nexus

ProxyPreserveHost On

阅读http://httpd.apache.org/docs/current/sections.html#merging了解详情。

答案 1 :(得分:0)

您可以尝试以下两行进行测试:

ProxyPass /example-ip http://www.toolsvoid.com/what-is-my-ip-address
ProxyPassReverse /example-ip http://www.toolsvoid.com/what-is-my-ip-address

ProxyPass /example http://www.example.com/
ProxyPassReverse /example http://www.example.com/