J'ai installé 2 serveurs Apache. Un sur le port 80 et un autre sur le port 8077. Je veux tout voir sur le serveur sur 8077 via un proxy inverse. En ce moment, j'ai:
ProxyPreserveHost Off
ProxyHTMLInterp On
ProxyPass /translate/ http://www.example.com:8077/
ProxyPassReverse /translate/ http://www.example.com:8077/
ProxyHTMLURLMap / /translate/
Cela me permet d'accéder à la page initiale du site, mais les liens vers les images, css et autres pages ne fonctionnent pas.
Par exemple, le CSS dans le HTML montre comme
/css/style.css
où je veux vraiment que ce soit
/translate/css/style.css
Pour qu'il récupère le fichier sur le serveur 8077. Que puis-je faire avec le paramètre actuel pour que cela fonctionne?
Ok, c'est ce que j'ai fini par faire pour que ça marche
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>
Cela semble bien fonctionner. Le ProxyHTMLURLMap http://www.example.com:8077 /translate/line n'était nécessaire que pour traduire des URL basées sur "referrer" qui ont conduit certaines pages à essayer de servir directement à partir du port 8077 serveur.