Apache 反向代理对字符进行编码

Apache 反向代理对字符进行编码

我已经设置了 apache 反向代理,以便从防火墙后面为 bugzilla 提供服务,配置如下

ProxyRequests Off
ProxyPass /bugzilla http://88.88.88.75/bugzilla nocanon
ProxyPassReverse /bugzilla http://88.88.88.75/bugzilla
<location /bugzilla/>
        ProxyPassReverse /
        RequestHeader    unset  Accept-Encoding
</location>

但问题是,当请求到达 Bugzilla 时,搜索词都经过编码,Bugzilla 找不到任何东西

例如,“ ”在到达 Bugzilla 时search term会变成“ ”,因为它被代理编码为“ ”。search%20termsearch%2520term

有任何想法吗?

答案1

好的,我已停止使用 mod_rewrite 进行代理,并告诉它不要对字符进行编码。现在我的配置如下

ProxyRequests Off

RewriteEngine On
RewriteLog /var/log/httpd/bugzilla-rewrite.log
RewriteLogLevel 0
RewriteRule ^/bugzilla/(.*)$ http://88.88.88.75/bugzilla/$1 [P,NE]

ProxyPass /bugzilla http://88.88.88.75/bugzilla nocanon
ProxyPassReverse /bugzilla http://88.88.88.75/bugzilla

<location /bugzilla/>
        ProxyPassReverse /
        RequestHeader    unset  Accept-Encoding
</location>

我不知道是否需要所有线路,但它有效,我没有碰它

相关内容