|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() Inscription : mai 2005 Messages : 346 ![]() |
Salut,
Excusez moi pour le titre un peu bizarre, mais j'ai vraiment du mal à exprimer le problème en une phrase. En pratique, on a divers services fournis par divers serveurs Apache. On voudrait rendre certains accessible à l'Internet. On dispose d'un serveur qui est accessible depuis l'Internet. On voudrait donc que ce serveur serve les pages de certains autres, de manière transparente (comme un proxy). Le truc, c'est qu'on ne peut pas disposer de sous domaines. La question est donc... est ce possible? Schématiquement, on veut que si Jean tape Code :
http://www.domaine_externe.com/service1 sans pour autant qu'il soit redirigé vers un autre serveur (forcément, ça ne fonctionnerait pas). Est ce possible et comment? |
|
|
00
|
|
|
#2 | ||
![]() ![]() Inscription : août 2005 Messages : 8 299 ![]() |
Oui c'est possible et tu as donné toi-même la solution : configurer un proxy. Pour être précis, c'est un reverse proxy mais c'est du détail. Il faut tout simplement utiliser mod_proxy. C'est très simple :
Code :
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
||
|
|
00
|
|
|
#3 | ||
|
Membre actif
![]() Inscription : mai 2005 Messages : 346 ![]() |
Salut,
Merci pour ta réponse. J'ai regardé un peu autours et j'en suis arrivé à ça: Code :
Code :
http://www.domaine_externe.com/service1 Par contre, si je tape Code :
http://www.domaine_externe.com/service1/annexe2 Code :
http://www.domaine_externe.com/annexe2 Que manque t'il? |
||
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : août 2005 Messages : 8 299 ![]() |
A confirmer en regardant les logs d'accès du service service1.domaine_interne.com mais je dirais que c'est service1.domaine_interne.com qui fait la redirection.
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#5 |
|
Membre actif
![]() Inscription : mai 2005 Messages : 346 ![]() |
J'ai vérifié et en fait non.
Le service1.domaine_interne.com ne reçoit pas la requete. En fait c'est à cause du dernier "/". Si j'en ajoute un à la fin, comme ceci: Code :
http://www.domaine_externe.com/service1/annexe2/ Sinon, le serveur service1 ne reçoit pas la requete et le "access log" du serveur proxy affiche Code :
IP - - DATE "GET /annexe2/ HTTP/1.1" 404 207 ... J'ai remarqué avoir fait une erreur précédemment en rapportant l'erreur. En tapant: Code :
http://www.domaine_externe.com/service1/annexe2 Code :
http://www.domaine_externe.com/annexe2 Code :
http://www.domaine_externe.com/annexe2/ |
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : août 2005 Messages : 8 299 ![]() |
Regarde le code HTML des pages reçues par ton navigateur. Il se peut que ce soit <a href="/annexe2"> (ou /annexe2/, peu importe). Dans ce cas, c'est difficile de lutter car il faut soit modifier l'application de service1 pour qu'il modifie le code HTML et ne plus renvoyer de href="/..., soit utiliser un module du style mod_proxy_html pour réécrire en live le code HTML renvoyé au navigateur et renvoyer le bon code HTML.
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#7 | ||
|
Membre actif
![]() Inscription : mai 2005 Messages : 346 ![]() |
Salut,
J'ai suivi ton conseil et j'ai installe et configure mod_proxy_html. J'ai reussi a obtenir le resultat desire. tous les liens sont transformes comme il faut. Par contre, les sessions semblent ne pas tenir. En pratique, l'un des services qu'on voudrait rendre disponible necessite de se logger. on peut soumettre les identifiants et on recoit la page de confirmation. Mais des qu'on clique sur un autre lien, le systeme renvoit la page d'identification. Comment faire pour que la session soit maintenu entre le client et le serveur final au travers du proxy? voici ma configuration: Code :
|
||
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : août 2005 Messages : 8 299 ![]() |
Aucune idée. Apparemment c'est un problème de domaine/chemin de cookie. Il faut voir quel domaine est renvoyé avec le cookie et voir si c'est un domaine compatible avec les URL de ton reverse proxy. Il y aura peut-être du paramétrage de cookie à faire côté service, vois si c'est possible.
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#9 |
|
Membre actif
![]() Inscription : mai 2005 Messages : 346 ![]() |
Finallement, j'ai resolu le probleme en utilisant ProxyPassReverseCookieDomain et ProxyPassReverseCookiePath.
Par contre maintenant... comment faire pour le service2? Dois je dupliquer le vhost? mais alors comment distinger les deux puisque le discriminant n'est ni le nom de serveur, ni l'adresse IP? |
|
|
00
|
|
|
#10 | |
![]() ![]() Inscription : août 2005 Messages : 8 299 ![]() |
Citation:
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
|
00
|
|
|
#11 |
|
Membre actif
![]() Inscription : mai 2005 Messages : 346 ![]() |
c'est justement pour ca que je pose la question.
il est evident que toutes les autres lignes contiennent suffisament d'information pour s'exclure mutuellement. mais ce n'est pas le cas pour ProxyHTMLURLMap et cette directive est necessaire. Donc la question est, comment isoler les configurations de chaque service? |
|
|
00
|
|
|
#12 | ||
![]() ![]() Inscription : août 2005 Messages : 8 299 ![]() |
Je ne connais mod_proxy_html que de nom, alors je ne sais pas à quoi sert ProxyHTMLURLMap. Ceci dit, je pense que ce sont des blocs <Location> que tu veux construire :
Code :
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
||
|
|
10
|
|
|
#13 |
|
Membre actif
![]() Inscription : mai 2005 Messages : 346 ![]() |
En effet, le bloc "location" a résolu mon probleme.
Merci bien. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com