Bonjour,

cela fait 2 jours entiers que je cherche la solution à mon problème, sans succès! voici mon souci :

J'ai un reverse proxy apache (2.2.3) en DMZ qui me sert pour rediriger tous mes flux http/https entrants.
J'ai plusieurs DNS type aaa.domaine.fr, bbb.domaine.fr qui redirige vers ce reverse proxy, et selon le sous domaine (ServerName, ServerAlias), le flux correspondant est traité avec un virtualhost dédié à chaque sous domaine.

Jusque là, aucun pbm, c'est du "classique" mais je bloque sur un détail :
je désiré redirigé bbb.domaine.fr vers un serveur interne, et j'utilise pour cela soit:
- ProxyPass et ProxyPassReverse
- une réécriture d'url
Dans les deux cas j'arrive à faire ce que je veux mais je désire cacher une partie de l'URL (répertoire), et au final, je n'y arrive jamais.

Voici mes 2 confs qui fonctionnent bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
ProxyPass /dossier/ http://interne/dossier/
ProxyPassReverse /dossier/ http://interne/dossier/
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
RewriteRule ^/(.*)     http://interne/dossier/$1 [P]
J'ai trouvé pas mal de topic (dont bcp sur ce forum) très proche mais jamais dans ce "sens" : je veux que http://bbb.domaine.fr/ affiche le site se trouvant sur http://interne/dossier/, mais en cachant le "dossier" dans l'URL final de l'utilisateur.
Donc en gros que le "/" affiche le site de "/dossier", donc en réécrivant l'URL "/dossier/" en "/" et vice versa.

j'ai vu souvent le problème à l'envers, c'est à dire que les personnes voulait faire du reverse proxy de http://bbb.domaine.fr/dossier/ vers http://interne/, du coup je n'ai pas trouvé la solution à mon problème.

J'ai vu que quand on utilisait de l'url rewriting avec la balise [P], en fait cela termine la réécriture (comme [L]), et qu'on ne peut donc pas remettre de règle après (j'ai essayé d'ailleurs, et ça ne prend pas en compte).
Et même avec une règle avant, comme le "/" redirige vers "/dossier" en interne, l'URL garde ce "/dossier/".

Avec la conf "ProxyPass et ProxyPassReverse", je viens de tester aussi l'utilisation de "ProxyHTMLURLMap" mais je ne comprends vraiment pas comment l'utiliser (oui j'ai regardé la doc apache).

Voici des exemples de conf test qui n'ont rien donné:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
ProxyHTMLEnable On
ProxyPass /  http://interne/dossier/
ProxyHTMLURLMap  http://interne/dossier/ /
    <Location />
        ProxyPassReverse  http://interne/dossier/
        SetOutputFilter proxy-html
        ProxyHTMLURLMap /dossier/ /
        ProxyHTMLURLMap / /
        SetOutputFilter INFLATE
    </Location>
En fait, ça marche au tiers: le reverse proxy fonctionne mais je n'ai pas les images ni css du site, et ça ne cache pas le "/dossier" dans l'URL finale.

Autre config que j'ai testé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
ProxyPass / http://interne/dossier/
ProxyPassReverse / http://interne/dossier
Mais là encore, je n'ai ni les images/css, ni le "/dossier" caché dans l'URL.

Donc, comme je disais, j'arrive à faire fonctionner mon reverse proxy par les deux manières, donc au pire, ça marchera.
Mais ce petit détail de ne pas pouvoir cacher le "/dossier/" dans l'URL me chagrine!

Une âme charitable pourrait-elle m'aider?
Merci pour votre aide!