Proxypass指令是否需要ProxyPassReverse指令?

所有的ProxyPass指令都需要ProxyPassReverse指令吗?

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

我看到了这个片段,并明白所有来自foo.example.comstream量都会被代理到foo.example.com:8080。 第二行是干什么的?

这个指令让Apache调整HTTPredirect响应的Location,Content-Location和URI头中的URL 。

例如,假设本地服务器的地址为http://example.com/ ; 然后

 ProxyPass /mirror/foo/ http://backend.example.com/ ProxyPassReverse /mirror/foo/ http://backend.example.com/ ProxyPassReverseCookieDomain backend.example.com public.example.com ProxyPassReverseCookiePath / /mirror/foo/ 

不仅会导致http://example.com/mirror/foo/bar的本地请求被内部转换为http://backend.example.com/bar(ProxyPass在此提供的function)的代理请求。 它还负责redirect服务器backend.example.com发送:当http://backend.example.com/bar被他redirect到http://backend.example.com/quux Apache将其调整为http:/ /example.com/mirror/foo/quux,然后将HTTPredirect响应转发给客户端。 请注意,用于构造URL的主机名是根据UseCanonicalName指令的设置来select的。