Usando o módulo proxy_html do Apache2 no Ubuntu 12.04

1

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.

    
por alci 13.02.2013 / 16:24

1 resposta

1

Eu sempre disse ao Wordpress que o endereço do meu site era example.com (para que nenhum dos URLs criados pelo wordpress tivessem um endereço IP) e então minha configuração de proxy fosse algo assim:

    ServerName example.com

    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / http://192.168.1.1
    ProxyPassReverse / http://192.168.1.1

mantém tudo simples.

    
por Luis Flores III 13.02.2013 / 17:02