OVH Cloud OVH Cloud

Besoin d'aide pour Rewrite sous Apache 2.0

3 réponses
Avatar
Maelle Richard
Bonjour,

Je m'explique:

J'utilise une machine linux avec un Apache dessus pour permettre l'acces
a un serveur interne en mode Web.
jusqu'ici pas de probleme sauf que la machine atteinte est un windows sous
IIS et que les pages web sont genere par des DLL (donc je ne peux pas les
modifiers)

Mon probleme est que les DLL rajoute un tag <BASE
href="http://192.168.168.10/exchange/test/">
du coup quand on vient du net, j'ai bien ma demande d'authentification, j'ai
la definition des Frames qui s'affiche mais pas les pages suivantes
certainement a cause du <BASE... car mon navigateur m'indique qu'il
recherche le 192.168.168.10 alors qu'il devrait recuperer les pages sur
l'adresse IP de ma machine relais/proxy sous Apache.

Quelqu'un aurait une idee de comment modifier le "BASE" par un rewrite
en mode proxy ?

Merci d'avance

3 réponses

Avatar
Triple Bleu
Maelle Richard wrote:
J'utilise une machine linux avec un Apache dessus pour permettre
l'acces a un serveur interne en mode Web.
[...]

Mon probleme est que les DLL rajoute un tag <BASE
href="http://192.168.168.10/exchange/test/">
du coup quand on vient du net, j'ai bien ma demande
d'authentification, j'ai la definition des Frames qui s'affiche mais
pas les pages suivantes certainement a cause du <BASE... car mon
navigateur m'indique qu'il recherche le 192.168.168.10 alors qu'il
devrait recuperer les pages sur l'adresse IP de ma machine
relais/proxy sous Apache.


Je suppose que pour atteindre le serveur interne tu as une règle du type :
ProxyPass /blabla/ http://192.168.168.10/blabla/
ou
RewriteRule ^/blabla/(.*)$ http://192.168.168.10/blabla/$1 [P,L]

Dans les 2 cas, il suffit de rajouter la règle suivante pour que Apache
transforme l'adresse IP par le nom du virtual host au retour :
ProxyPassReverse /blabla/ http://192.168.168.10/blabla/

A+
--
Samuel Piau
lostnet at free.fr

Avatar
Maelle Richard
A priori cela ne fait rien car voici ma config actuelle :

ProxyRequests On
RewriteEngine On
RewriteLog /var/www/ph-proxyredir/logs/rewrite_log
RewriteLogLevel 9
RewriteRule ^/(.*)$ http://192.168.168.10:2058/exchange/$1 [P,L]
ProxyPassReverse / http://192.168.168.10:2058/exchange/

Le proxypassreverse est donc bien present




"Triple Bleu" <reply-to-news> a écrit dans le message de
news:4145626a$0$29448$
Maelle Richard wrote:
J'utilise une machine linux avec un Apache dessus pour permettre
l'acces a un serveur interne en mode Web.
[...]

Mon probleme est que les DLL rajoute un tag <BASE
href="http://192.168.168.10/exchange/test/">
du coup quand on vient du net, j'ai bien ma demande
d'authentification, j'ai la definition des Frames qui s'affiche mais
pas les pages suivantes certainement a cause du <BASE... car mon
navigateur m'indique qu'il recherche le 192.168.168.10 alors qu'il
devrait recuperer les pages sur l'adresse IP de ma machine
relais/proxy sous Apache.


Je suppose que pour atteindre le serveur interne tu as une règle du type :
ProxyPass /blabla/ http://192.168.168.10/blabla/
ou
RewriteRule ^/blabla/(.*)$ http://192.168.168.10/blabla/$1 [P,L]

Dans les 2 cas, il suffit de rajouter la règle suivante pour que Apache
transforme l'adresse IP par le nom du virtual host au retour :
ProxyPassReverse /blabla/ http://192.168.168.10/blabla/

A+
--
Samuel Piau
lostnet at free.fr




Avatar
Triple Bleu
Maelle Richard wrote:
A priori cela ne fait rien car voici ma config actuelle :

ProxyRequests On
RewriteEngine On
RewriteLog /var/www/ph-proxyredir/logs/rewrite_log
RewriteLogLevel 9
RewriteRule ^/(.*)$ http://192.168.168.10:2058/exchange/$1
[P,L] ProxyPassReverse / http://192.168.168.10:2058/exchange/

Le proxypassreverse est donc bien present


Dans ce cas, l'astuce est de d'utiliser un nom de virtual host complet pour
la redirection, par contre cela nécessite d'utiliser le port standard (80)
sur le serveur interne.

Sur le serveur Apache, il faut déclarer dans le fichier /etc/hosts :
monsite.internet.com 192.168.168.10

RewriteRule ^/(.*)$ http://monsite.internet.com/exchange/$1 [P,L]

Testé et approuvé.
A+
--
Samuel Piau
lostnet at free.fr