反向代理设置ProxyPreserveHost导致301重定向
配置反向代理并不需要打开ProxyRequests指令
当 ProxyPreserveHost On 时,客户端提供的 Host 会被传递到http服务器
当 ProxyPreserveHost Off 时,ProxyPass 指定的 Host 会被传递到http服务器
当启用时,此选项将把传入请求的"Host:"行传递给被代理的主机,而不是传递在ProxyPass中指定的主机名。
由此可能会造成301重定向循环,301重定向最大循环次数默认为 20
<VirtualHost *:443> ServerAdmin info@rproxy.net ServerName b.rproxy.net ServerAlias b.rproxy.net ProxyRequests off ProxyVia On ProxyPreserveHost On # 全站代理时,应该设置为 off ,否则可能301重定向 ProxyPass / https://a.example.com/ ProxyPassReverse / https://a.example.com/ # 支持SSL SSLEngine On SSLProxyEngine On SSLProxyVerify none SSLProxyCheckPeerCN off SSLProxyCheckPeerName off SSLProxyCheckPeerExpire off SSLCertificateFile server.crt SSLCertificateKeyFile server.key SSLCertificateChainFile fullchain.pem RequestHeader set X-Forwarded-Proto https SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL ErrorLog "/var/log/apache2/b-rproxy-net_error.log" CustomLog "/var/log/apache2/b-rproxy-net_request_log" common </VirtualHost>