Bonjour !
Je voulais savoir si il était possible via les modules apache (apache 2.0 sur Debian) de rediriger des urls via mod proxy mais pas de la manière la plus classique. Je m'explique :
J'ai un domaine qui catch-all tout les sous domaines vers la même ip.
Je souhaite rediriger des hosts comme http://XXXX.domain.org/ vers http://XXXXX.localhost:YYYY/ donc en local ou YYYY est un port arbitraire. Mais que cela se fasse de manière transparente, l'utilisateur ne doit pas se retrouver directement sur http://XXXXX.localhost:YYYY/ (qui ne fonctionnera pas sauf en local :p).
J'espère que je me suis bien expliqué.
Merci d'avance pour vos réponse et a bientôt.
# pourquoi ?
Posté par NeoX . Évalué à -3.
je suppose que c'est parce que tes differents sites ecoutent sur different port...
alors qu'un simple virtualhost serait suffisant
<virtualhost *>
Servername xxxx.domain.com
DocumentRoot /path/to/your/directory
Options [...]
</virtualhost>
mais j'ai peut-etre pas toutes les infos necessaires pour comprendre le besoin.
[^] # Re: pourquoi ?
Posté par LaBienPensanceMaTuer . Évalué à 2.
Et si il a un tomcat qu'il ne veut pas mettre en frontal ?
Ou un mldonkey qui implémente son propre httpd ?
Ou un serveur qu'il développe lui même ?
D'ailleurs il le dit:
l'utilisateur ne doit pas se retrouver directement sur http://XXXXX.localhost:YYYY/ (qui ne fonctionnera pas sauf en local :p).
Sinon oui, on peut faire à la fois du mod_rewrite et du mod_proxy très simplement, il suffit d'ajouter le flag [P] à la fin de ta rewrite rule comme expliqué ici: http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewrit(...)
Je te laisse te creuser un peu la tête pour la règle, mais ça devrait donner un truc du genre:
RewriteCond %{HTTP_HOST} (.*).domain.org
RewriteRule ^(.*)$ %1.localhost:YYYY$1 [P]
La RewriteCond te permettant de récupérer la première partie de l'url et de la mémoriser dans %1, la RewriteRule réécrivant tout URI vers localhost en faisant soi même la requête ( flag [P] ).
[^] # Re: pourquoi ?
Posté par Thibault (site web personnel) . Évalué à 1.
Merci encore !
[^] # Re: pourquoi ?
Posté par Maxime (site web personnel) . Évalué à 2.
<VirtualHost *>
Servername xxxx.domain.org
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
ProxyPass / http://XXXXX.localhost:YYYY/
ProxyPassReverse / http://XXXXX.localhost:YYYY/
</VirtualHost>
Si oui, quelle est la différence avec un RewriteRule avec [P] ? (à part bien sûr le cas où l'on veut que ça marche pour n'importe quel XXXXX dans quel cas ça devient très rapidement lourd de traiter tous les cas :D)
Mais je me demandais si ça changeait autre chose ?
[^] # Re: pourquoi ?
Posté par LaBienPensanceMaTuer . Évalué à 1.
Enfin, tout ça c'est mon avis perso, après je ne suis pas non plus un guru Apache :p
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.