禁用Apache代理时对%2F的解析,解决Gitblit的问题

运维601 次浏览

在使用Apache代理Gitblit时,发现当Gitblit的路径含有%2F时,必然会出错。不含%2F时则不会。

尝试在Gitblit里直接把%2F改成/也会出现一样的问题。所以很可能是Apache在Proxy代理的过程中自动将URL的%2F解析成/导致的。

在Apache配置文件,虚拟机代理配置部分,加入AllowEncodedSlashes NoDecode,阻止对编码的自动解析。问题就解决了。如:

<VirtualHost *>
    AllowEncodedSlashes NoDecode
    ServerName git.myhost.com:80
    ServerAlias 
    ProxyPass / http://192.168.1.2:8080/
    ProxyPassReverse / http://192.168.1.2:8080/
</VirtualHost>

相关文章

评论

暂无评论

发表评论

提交后需审核,请勿重复提交。