MISE À JOUR : J'ai ajouté une question révisée après avoir joué avec les deux réponses ci-dessous.
Bonjour,
Si vous lisez ces lignes, vous êtes probablement familier avec 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 des machines différentes, et lorsque vous avez accès à distance avec cette configuration, les choses se gâtent.
Donc, mon installation est très simple, j'ai :
L'accès à distance de la machine n°1 est activé, j'y accède par un nom d'hôte et l'application PHP qui y est exécutée est affichée.
La machine n°2 est une nouvelle application exécutant Django, elle utilise un backend entièrement différent (même l'authentification), elle est hébergée sur une machine distincte. Dans notre intranet, nous y accédons par un simple nom d'hôte qui renvoie à l'adresse IP interne 192.168.0.101.
J'ai essayé de jouer avec ProxyPass pour le configurer de sorte que, par exemple, un passage vers /new l'envoie à la nouvelle application :
ProxyPass /nouveau http://192.168.0.101/
Cela fonctionne en quelque sorte, la requête est envoyée à l'autre application, mais cela ne fonctionne pas car mon application Django veut rediriger vers /auth/login/, qu'elle ne reconnaît pas immédiatement. 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, faire cela tout en naviguant n'est pas pratique.
Alors comment faire pour que ProxyPass fonctionne comme je le souhaite ? Dois-je faire quelque chose avec Apache pour qu'il écrive toujours /new avant les url de l'autre application, ou est-ce quelque chose que je dois modifier dans mon application Django ?
Tout conseil et toute indication seraient également très appréciés. Merci pour votre temps