我一直在看到这篇文章来解决另一个问题。让我快速解释一下。
我有相同样式的 URL,并且也在尝试代理它。
示例:来自/example/
另一台服务器的代理请求。
/example/http:%2F%2Fwww.someurl.com/
问题 1: Apache 认为这是一个无效的 url
解决方法:AllowEncodedSlashes On
在httpd.conf
问题 2: Apache 解码编码的斜线
解决方案:AllowEncodedSlashes NoDecode
在 httpd.conf 中(需要 Apache 2.3.12+)
问题 3: mod_proxy 尝试重新编码(双重编码)更改%2F
为%252F
(例如/example/http:%252F%252Fwww.someurl.com/
)的 URL
解决方案:httpd.conf
使用ProxyPass
关键字nocanon
通过代理传递原始 URL。
ProxyPass http://anotherserver:8080/example/ nocanon
httpd.conf 文件:
AllowEncodedSlashes NoDecode
<Location /example/>
ProxyPass http://anotherserver:8080/example/ nocanon
</Location>
参考: