Apache在正确配置后仍然使用双编码斜杠

Apache在正确配置后仍然使用双编码斜杠,apache,encoding,proxy,reverse-proxy,Apache,Encoding,Proxy,Reverse Proxy,我有一个代理,看起来像: ProxyPass /testpath/ http://127.0.0.1:8181/testpath/ nocanon ProxyPreserveHost On AllowEncodedSlashes NoDecode 当我使用IP框向apache发出请求时,它与请求URI(如/foo%2Fbar)配合得很好。这个盒子上有一个openvpn隧道,当请求从那里发出时,apache决定对斜杠进行双重编码。 如果我自己站一个小服务器,监听端口80,我会从隧道中得到正确的路

我有一个代理,看起来像:

ProxyPass /testpath/ http://127.0.0.1:8181/testpath/ nocanon
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
当我使用IP框向apache发出请求时,它与请求URI(如/foo%2Fbar)配合得很好。这个盒子上有一个openvpn隧道,当请求从那里发出时,apache决定对斜杠进行双重编码。 如果我自己站一个小服务器,监听端口80,我会从隧道中得到正确的路径,所以这不是隧道,而是apache。有什么想法吗


我还应该注意,访问日志中的路径总是正确的,只有%2F。

这似乎只有在http请求的请求行包含绝对url时才会出现:GET http/1.1,而不是主机标头中的主机和方案。这是正确的。您是否找到任何可以阻止此操作的配置?我没有,最后不得不更改生成此操作的代码。这似乎仅在http请求的请求行包含绝对url时出现:GET http/1.1,而不是主机标头中的主机和方案。这是正确的。你找到任何可以阻止这种情况的配置了吗?我没有,最后不得不更改生成它的代码。