
Configurei um proxy reverso com mod_proxy, mod_proxy_html (3.1.3) e mod_xml2enc em uma caixa CentOS 6.4.
O proxy atende perfeitamente o servidor de destino, mas distorce caracteres não-ASCII (no meu caso, 'äöüéàè').
Pesquisei todo o mapa no Google tentando encontrar uma solução para isso, mas sem sucesso.
A codificação está especificada corretamente no cabeçalho de resposta e idêntica à do servidor de destino (utf-8). Também tentei definir explicitamente a codificação usada pelo xml2enc via:
xml2EncDefault utf-8
mas sem efeito.
Estou executando o proxy em um vhost com a configuração do proxy definida da seguinte forma:
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>
Responder1
Acontece que 'mod_proxy_html' era inocente em tudo isso.
Declarando a codificação via:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
fez o problema desaparecer.
Isso é um pouco estranho, pois o 'Content-Type' foi definido corretamente no cabeçalho da resposta.