ProxyHTML для перезаписи URL
у меня настроено 2 сервера apache. Один на порту 80, другой на порту 8077. Я хочу видеть все на сервере на 8077 через обратный прокси-сервер. На данный момент у меня есть:
ProxyPreserveHost Off
ProxyHTMLInterp On
ProxyPass /translate/ http://www.example.com:8077/
ProxyPassReverse /translate/ http://www.example.com:8077/
ProxyHTMLURLMap / /translate/
Это позволяет мне добраться до начальной страницы сайта, но ссылки на изображения, css и другие страницы не работают.
например, css в html показывает как
/css/style.css
где я на самом деле хочу, чтобы это было
/translate/css/style.css
для того, чтобы забрать файл из сервер 8077. Что я могу сделать с текущей настройкой, чтобы заставить ее работать?
1 ответов
хорошо, это то, что я сделал, чтобы заставить его работать
ProxyPass /translate/ http://www.example.com:8077/
ProxyPassReverse /translate/ http://www.example.com:8077/
ProxyHTMLURLMap http://www.example.com:8087 /translate/
<Location /translate/>
ProxyPassReverse /
SetOutputFilter proxy-html
ProxyHTMLURLMap http://www.example.com:8077 /translate/
ProxyHTMLURLMap / /translate/
ProxyHTMLURLMap /translate/ /translate/
RequestHeader unset Accept-Encoding
</Location>
Это, кажется, работает хорошо. ProxyHTMLURLMap http://www.example.com:8077 / translate / line был необходим только для перевода некоторых URL-адресов на основе" реферера", которые заставляли некоторые страницы в конечном итоге пытаться обслуживать непосредственно с сервера портов 8077.