我可以在Apache VirtualHost中同时使用ProxyPreserveHost和RequestHeader set主机吗?

我可以在Apache VirtualHost中同时使用ProxyPreserveHost和RequestHeader set主机吗?,apache,http-headers,virtualhost,mod-proxy,mod-headers,Apache,Http Headers,Virtualhost,Mod Proxy,Mod Headers,当ProxyPass将请求定向到server2时,我试图将请求头中的主机设置为“server2”,但在所有其他情况下(当它将请求传递到server1时)保留主机 RequestHeader设置主机服务器2 ProxyPass/path1http://server2/path1 ProxyPassReverse/path1http://server2/path1 代理主机 ProxyPass/http://server1/ 有没有一种方法可以让ProxyPreserveHost对以/path1

当ProxyPass将请求定向到server2时,我试图将请求头中的主机设置为“server2”,但在所有其他情况下(当它将请求传递到server1时)保留主机


RequestHeader设置主机服务器2
ProxyPass/path1http://server2/path1
ProxyPassReverse/path1http://server2/path1
代理主机
ProxyPass/http://server1/
有没有一种方法可以让ProxyPreserveHost对以/path1开头的传入URL关闭,但对所有其他URL打开?或者像我在上面的代码示例中尝试的那样更改RequestHeader中的主机(这不起作用)


我在Ubuntu 12.04上使用的是Apache 2.2.22版,这并不是对这个问题的立即回答,而是对我问题的回答

我决定尝试使用nginx而不是apache2.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;
  }
}
我认为Apache2.4也支持位置。所以我仍然不知道它在Apache2.2中是否可行,但这对我使用nginx是有效的

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;
  }
}