案例:
的内部服务器服务器的反向代理(Apache 2.2)根据Retain original request URL on mod_proxy redirect,添加:
ProxyPreserveHost On
到httpd.conf,internal.abc.com目前将原始请求URL识别为:
我有什么方法可以恢复https://api.abc.com的原始网址?也就是说,还保留原始协议(http)和端口(80,或空也很好)
答案 0 :(得分:2)
我解决这个问题的方法是在我的虚拟主机文件中添加一个标头。 RequestHeader set original-protocol-ssl true early
然后,您需要在代码中检查此标头,以确定其来源。
答案 1 :(得分:1)
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://internal.abc.com:123
ProxyPassReverse / http://internal.abc.com:123
我在自己的测试中测试的代码,应该使用internal.abc.com:123并将其隐藏到您在<中添加代码的任何URL中。 virtualhost>括号中。
如果它的api.abc.com它应该将来自internal.abc.com:123的信息代理到api.abc.com而没有它背后的端口号。 ProxyPassReverse为您完成此任务。