Apache-2.2
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%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>
我不知道是否需要所有線路,但它有效,我沒有觸摸它