MISE À JOUR: J'ai ajouté une question révisée après avoir joué avec elle deux réponses ci-dessous.
Salut,
Si vous lisez ceci, vous connaissez probablement le mod_proxy d'Apache et sa fonction ProxyPass. Comme beaucoup d'autres, j'ai le problème d'avoir une application à laquelle je peux accéder depuis l'extérieur de notre réseau interne, mais cette application elle-même accède à d'autres applications internes sur différentes machines, et lorsque vous accédez à distance avec cette configuration, les choses tournent mal.
Donc, ma configuration est très simple, j'ai:
L'accès à distance est activé sur la machine n ° 1, j'y accède via un nom d'hôte et elle crache l'application PHP qui s'exécute dessus.
La machine n ° 2 est une nouvelle application exécutant Django, elle utilise un backend entièrement différent (même auth), elle est hébergée sur une machine séparée. Dans notre intranet, nous y accédons via un simple nom d'hôte nommé qui relie essentiellement à l'IP interne 192.168.0.101.
J'ai essayé de jouer avec ProxyPass pour le configurer, par exemple, une passe vers / new l'enverrait à la nouvelle application:
ProxyPass / nouveau http://192.168.0.101/
Ce genre de travail, il reçoit la demande de l'autre application, mais il casse parce que mon application Django veut rediriger vers / auth / login /, qu'elle ne reconnaît pas instantanément. Si je modifie moi-même l'url pour qu'elle soit foo.net/new/auth/login, j'obtiens ma page de connexion, mais comme vous pouvez le deviner, cela pendant la navigation n'est pas pratique.
Alors, comment puis-je faire fonctionner ProxyPass comme je le souhaite? Dois-je faire quelque chose avec Apache pour qu'il écrive toujours / new avant les URL dans l'autre application, ou est-ce quelque chose que je devrais modifier dans mon application Django?
Tous les conseils et astuces seraient également grandement appréciés. Merci pour votre temps