Я пытаюсь настроить обратный прокси, чтобы предоставить доступ к нескольким внутренним веб-серверам из Интернета. Я настроил некоторые виртуальные хосты на основе имени с обратным прокси (я включил прокси-сервер и модули proxy_http).
До сих пор так хорошо ...
Один из серверов - это wordpress сайт. Wordpress будет генерировать html-страницы, содержащие его внутренний url (для css и т. Д.). Поэтому я пытаюсь использовать модуль proxy_html для перезаписи этих URL-адресов на обратном прокси-сервере. Но я терплю неудачу.
Большая часть документации в Интернете относится к последней версии модуля, но 12.04 поставляется с версией 3.0.1, и я не могу понять, как заставить ее работать.
Вот что я добавил в мой виртуальный хост conffile:
<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>
Я ожидаю, что любой url, содержащий http://192.168.1.12, созданный wordpress на сервере 192.168.1.12, будет переведен в [ f5]. Этого не происходит. Я попытался добавить другие директивы, но все не удалось:
ProxyHTMLEnable On
терпит неудачу. Это кажется слишком новым и не поддерживается этой версией модуля.
SetOuputFilter INFLATE;proxy-html;DEFLATE
также не работает. Может быть, мне не хватает модуля для этого? Я попытался добавить фильтр a2enmod, но он тоже не работает ...
Ну, может кто-нибудь просветить меня на этом?
EDIT Заметили туманность в SetOuputFilter? A t отсутствует ... Таким образом, SetOutputFilter proxy-html - это путь, чтобы заставить proxy_html работать с 12.04. Но я предпочел бы пойти на другое решение: скажите Wordpress вести себя в соответствии с его публичным именем и генерировать правильные URL-адреса с самого начала.