Estou tentando configurar um proxy reverso para dar acesso a vários servidores da web internos da Internet.
Eu configurei alguns hosts virtuais baseados em nome com proxy reverso (habilitei os módulos proxy e proxy_http).
Até aí tudo bem ...
Um dos servidores é um site wordpress. O Wordpress irá gerar páginas html contendo seu url interno (para css, etc ...). Então, estou tentando usar o módulo proxy_html para reescrever esses URLs no proxy reverso. Mas eu falho miseravelmente.
A maior parte da documentação na internet refere-se à versão mais recente do módulo, mas o 12.04 vem com a versão 3.0.1 e não consigo descobrir como fazê-lo funcionar.
Aqui está o que eu coloquei no meu conffile do host virtual:
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName example.com
ServerAlias www.example.com
ProxyPass / http://192.168.1.12/
ProxyPassReverse / http://192.168.1.12/
ProxyHTMLURLMap http://192.168.1.12 http://www.example.com
#SetOuputFilter INFLATE;proxy-html;DEFLATE
</VirtualHost>
Espero que qualquer URL contendo http://192.168.1.12
produzido pelo wordpress no servidor 192.168.1.12 seja traduzido em http://www.example.com
.
Isso não acontece.
Eu tentei adicionar outras diretivas, mas todas falharam:
ProxyHTMLEnable On
falha. Parece ser muito novo e não é suportado por esta versão do módulo.
SetOuputFilter INFLATE;proxy-html;DEFLATE
também falha. Talvez eu esteja faltando um módulo para fazer isso? Eu tentei adicionar o filtro a2enmod, mas também não funciona ...
Bem, alguém pode me esclarecer sobre isso?
EDIT Percebeu o erro de digitação em SetOuputFilter
? Um t está faltando ... Então SetOutputFilter proxy-html
é o caminho a percorrer para obter proxy_html trabalhando em 12.04. Mas prefiro ir para a outra solução: dizer ao wordpress que se comporte de acordo com seu nome público e gere URLs corretas desde o início.