
CentOS 6.4 ボックスで、mod_proxy、mod_proxy_html (3.1.3)、mod_xml2enc を使用してリバース プロキシを設定しました。
プロキシはターゲット サーバーに問題なく接続しますが、ASCII 以外の文字 (私の場合は「äöüéàè」) は文字化けします。
この問題を解決する方法を見つけようと、Google であらゆる場所を検索しましたが、見つかりません。
エンコーディングは応答ヘッダーで正しく指定されており、ターゲット サーバーのエンコーディング (utf-8) と同一です。また、xml2enc で使用されるエンコーディングを次のように明示的に設定することも試みました。
xml2EncDefault utf-8
しかし効果はありませんでした。
プロキシ構成を次のように設定して、vhost からプロキシを実行しています。
ProxyRequests off
ProxyHTMLLinks a href
ProxyHTMLLinks area href
ProxyHTMLLinks link href
ProxyHTMLLinks img src longdesc usemap
ProxyHTMLLinks object classid codebase data usemap
ProxyHTMLLinks q cite
ProxyHTMLLinks blockquote cite
ProxyHTMLLinks ins cite
ProxyHTMLLinks del cite
ProxyHTMLLinks form action
ProxyHTMLLinks input src usemap
ProxyHTMLLinks head profile
ProxyHTMLLinks base href
ProxyHTMLLinks script src for
ProxyHTMLLinks iframe src
ProxyPass /foo/ http://someserver.com/
ProxyPassReverse /foo/ http://www.someserver.com/
<Location /foo/>
SetOutputFilter INFLATE;proxy-html;DEFLATE
ProxyPassReverse /
ProxyPassReverseCookiePath / /foo
ProxyHTMLURLMap http://www.someserver.com /foo
ProxyHTMLURLMap http://someserver.com /foo
RequestHeader unset Accept-Encoding
</Location>
答え1
結局、「mod_proxy_html」はこれに無関係であることが判明しました。
エンコーディングを次のように宣言します:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
問題は解決しました。
応答ヘッダーで「Content-Type」が適切に設定されていたため、これは少し奇妙です。