我正在尝试将请求标头中的主机设置为“server2”,以便ProxyPass将请求定向到server2,但在所有其他情况下保留主机(当它将其传递给server1时)。
<Proxy "/path1">
RequestHeader set Host server2
</Proxy>
ProxyPass /path1 http://server2/path1
ProxyPassReverse /path1 http://server2/path1
ProxyPreserveHost On
ProxyPass / http://server1/
对于以/ path1开头的传入网址,是否有一种方法可以将ProxyPreserveHost设置为Off,但是对于所有其他网址,是否为On?或者像我在上面的代码示例中尝试的那样更改RequestHeader中的主机(这不起作用)。
我在Ubuntu 12.04上使用Apache 2.2.22版
答案 0 :(得分:0)
这不是答案,但这是我问题的答案。
我决定尝试使用nginx而不是Apache 2.2,并使用这些网站可用的配置:
server {
listen 80;
location path1 {
proxy_set_header Host 'server2';
proxy_pass http://server2/path1;
}
location / {
proxy_set_header Host $host;
proxy_pass http://server1;
}
}
我认为Apache 2.4也支持位置。所以我仍然不知道在Apache 2.2中是否可行,但这对我来说对nginx有用。