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.