
Configuré un proxy inverso con mod_proxy, mod_proxy_html (3.1.3) y mod_xml2enc en una caja CentOS 6.4.
El proxy sirve bien al servidor de destino, pero confunde caracteres que no son ASCII (en mi caso, 'äöüéàè').
Busqué en Google por todo el mapa tratando de encontrar una solución a esto, pero fue en vano.
La codificación está especificada correctamente en el encabezado de respuesta y es idéntica a la del servidor de destino (utf-8). También intenté configurar explícitamente la codificación utilizada por xml2enc a través de:
xml2EncDefault utf-8
pero sin ningún efecto.
Estoy ejecutando el proxy desde un vhost con la configuración del proxy establecida de la siguiente manera:
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>
Respuesta1
Resulta que 'mod_proxy_html' era inocente en todo esto.
Declarando la codificación vía:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
hizo que el problema desapareciera.
Esto es un poco extraño, ya que el 'Tipo de contenido' se configuró correctamente en el encabezado de respuesta.