案件:
这是在http://internal.abc.com:123反向代理(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,或空也很好)
2 回答
我解决这个问题的方法是在我的虚拟主机文件中添加一个 Headers . RequestHeader尽早设置original-protocol-ssl true
然后,您需要在代码中检查此标头以确定其来源 .
我在我自己的测试中测试的这段代码应该使用internal.abc.com:123并将它隐藏到你在<virtualhost>括号中添加代码的任何url .
如果它的api.abc.com它应该将来自internal.abc.com:123的信息代理到api.abc.com而没有它背后的端口号 . ProxyPassReverse为您完成此操作 .