Apache-2.2

Apache 反向代理對字元進行編碼

  • July 22, 2013

我已經設置了 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%20term編碼為“ ”。search%2520term

有任何想法嗎?

好的,我已經結束使用 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>

我不知道是否需要所有線路,但它有效,我沒有觸摸它

引用自:https://serverfault.com/questions/524751