J’essaie de configurer le proxy inverse pour une application. J’utilise le serveur web apache 2.2 ci-dessous sont mes règles de configuration
ProxyRequests off
ProxyPreserveHost sur
ProxyPass / app / ( http://11.11.111.11:123/ )
ProxyPassReverse / app / http://11.11.111.11:123/
Problème: quand je frappe l’url de mon serveur local comme myserver.co.in/app/, la première page arrive (page de connexion de l’application). après cette application est redirigeant vers url myserver.co.in/home/index.html et la redirection a échoué. car la partie “/ app /” est manquante dans l’URL.
Quelqu’un peut-il m’aider à résoudre ce problème. Merci d’avance.
Apache sait que vous voulez une page différente, vous devez définir le répertoire de travail de cet hôte virtuel dans le répertoire où se trouve votre application.
Par exemple,
DocumentRoot "/www/example2"
donc en utilisant votre configuration serait
DocumentRoot "/www/example2" ProxyRequests off ProxyPreserveHost on ProxyPass /app/ (http://11.11.111.11:123/) ProxyPassReverse /app/ http://11.11.111.11:123/ # Other directives here
Vous pouvez soit modifier votre application pour append le préfixe /app
ou utiliser mod_proxy_html
.
Ce qui suit est cité de ” Lorsque ProxyPass et ProxyPassReverse ne suffisent pas ” et est modifié pour correspondre à ce que vous avez demandé.
En mod_proxy_html
, mod_proxy_html
vous permet de réécrire HTML, JavaScript et CSS afin que les URL puissent proprement passer par votre proxy inverse. Cela signifie que l’application backend répond avec
mod_proxy_html le convertira en
Pour que cela fonctionne, ajoutez ce qui suit à httpd.conf
ProxyPass /app/ (http://11.11.111.11:123/) ProxyPassReverse /app/ http://11.11.111.11:123/ ProxyHTMLURLMap http://11.11.111.11:123/ /app/ ProxyHTMLEnable On ProxyPassReverse http://11.11.111.11:123/ SetOutputFilter proxy-html ProxyHTMLURLMap / /app/ ProxyHTMLURLMap /app /app