Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2536 connectés 

  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Réseaux

  [Apache] mod_rewrite et l'uri masking

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Apache] mod_rewrite et l'uri masking

n°72142
Corbier
Barbe's powaaa
Posté le 29-09-2010 à 14:35:33  profilanswer
 

Bonjour,
 
Je sais pas vous, mais mod_rewrite m'a toujours filé des migraines : O
Voici un cas spécifique que je souhaiterais résoudre.
 
Concrètement, j'ai une application disponible via l'URL www.monapp.fr/BrandNewApp
Le but de la manoeuvre est de planquer aux utilisateurs extérieurs le mot-clé Brand dans mon context-root.
Il faut donc que mon utilisateur tape sur www.monapp.fr/NewApp
 
Mon Apache doit alors réécrire /NewApp en /BrandNewApp pour que cela soit compréhensible par mon application server backend qui s'attend à desservir l'application /BrandNewApp.
Jusque là, ce n'est pas trop compliqué, mais cela se complexifie lorsque mon serveur backend redirige lui-même vers une autre page, donc toujours sur /BrandNewApp alors que mon utilisateur ne doit voir dans son URL que /NewApp.
 
Comment démêler ce casse-tête ?
Il doit y avoir une combine incluant un mix de mod_proxy (reverse) + mod_rewrite mais j'avoue être un peu paumé.
 
Si quelqu'un a une idée, merci beaucoup !
 
 :hello:

mood
Publicité
Posté le 29-09-2010 à 14:35:33  profilanswer
 

n°72329
Corbier
Barbe's powaaa
Posté le 05-10-2010 à 09:11:42  profilanswer
 

Je vois que mon sujet inspire beaucoup de monde  :sweat:  
Quelqu'un aurait-il un début d'idée peut-être ? Ou besoin de précisions quant à ma requête ?
 
Merci : )

n°72361
reckoner
Posté le 05-10-2010 à 22:32:25  profilanswer
 

A mon avis tu as déjà quasiment trouvé, teste avec Rewrite + ProxyPassReverse et ça devrait aller.

n°72370
Corbier
Barbe's powaaa
Posté le 06-10-2010 à 13:16:08  profilanswer
 

Je suis pas si optimiste que toi :D
 
Voici ce que j'ai tenté :
 


ProxyRequests Off
 
<Proxy *>
        Order deny,allow
        Allow from all
</Proxy>
 
ProxyPass /NewApp/ http://www.monapp.fr/BrandNewApp/
ProxyPassReverse /NewApp/ http://www.monapp.fr/BrandNewApp/


 
Ca ne fonctionne pas.
 
Pour forcer la première requête, j'ai également ajouté la partie mod_rewrite, mais en vain :


ProxyRequests Off
 
<Proxy *>
        Order deny,allow
        Allow from all
</Proxy>
 
RewriteEngine on
 
RewriteRule ^/NewApp/(.*) http://www.monapp.fr/BrandNewApp/$1 [R]
ProxyPass /NewApp/ http://www.monapp.fr/BrandNewApp/
ProxyPassReverse /NewApp/ http://www.monapp.fr/BrandNewApp/


 
 :sweat:  

n°72381
reckoner
Posté le 06-10-2010 à 17:22:53  profilanswer
 

Déjà ta RewriteRule fait une redirection HTTP et non une simple réécriture (flag [R]...), je doute que ce soit ce que tu veux, tu risques d'avoir un paquet de redirections !
 
Ensuite, ton reverse proxy est la même machine physique que le serveur ?
 
- Si non, vérifie que www.monapp.fr pointe bien vers l'IP du serveur web réel (par ex grâce à une entrée dans le fichier hosts).
 
Si ce n'est pas le cas tu dois le faire (un peu dégueu), ou sinon essaie de voir ce que ça donne :  
 
ProxyPreserveHost On (ou pas, selon la conf de ton vhost "réel", a priori si)
ProxyPass /NewApp/ http://<ip_serv_reel:port>/BrandNewApp/
ProxyPassReverse /NewApp/ http://<ip_serv_reel:port>/BrandNewApp/  
 
- Si oui tu peux essayer d'utiliser la méthode précédente avec 127.0.0.1 comme IP et un vhost à l'écoute uniquement sur cette IP.

n°72402
Corbier
Barbe's powaaa
Posté le 07-10-2010 à 10:27:48  profilanswer
 

Merci pour ta réponse.
 
Effectivement, le flag [R] n'était pas voulu, j'avais essayé depuis sans aucun flag.
 
J'ai justement testé ta solution proposée hier aprem'.
Via mon fichier hosts www.monapp.fr pointe sur l'IP du serveur Apache.
 
Avec ou sans ProxyPreserveHost, le résultat est le même.
Le premier appel sur /NewApp/ se déroule bien mais la navigation continue ensuite sur /BrandNewApp/, impossible de m'en défaire.
 
J'ai essayé en forçant le rewrite avant les directives proxy, mais en vain.
 
 :sweat:  

n°72411
reckoner
Posté le 07-10-2010 à 14:03:58  profilanswer
 

Heu no offense mais sur ton serveur web, tu as du BrandNewApp ou du NewApp ? mod_proxy ne réécrit pas les liens dans le code html, je pense que tu le sais mais bon ;)
 
Sinon ben upload un .pcap des deux côtés pour voir, on aura la réponse... :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Réseaux

  [Apache] mod_rewrite et l'uri masking

 

Sujets relatifs
Reverse Proxy Apache[Apache] Reverse proxy
[Serveur apache] Kaspersky bloque le trafficBenchmark d'apache avec AB/ gnuplot
Apache et mod_rewrite : marche à moitié ?APACHE SERVEUR....comment le refaire...
Redirection DNS / redirection apachePlusieurs domaines avec Bind + Apache
Plus de sujets relatifs à : [Apache] mod_rewrite et l'uri masking


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR