Bonjour,
J'utilise Apache en tant que proxy inverse pour mon application Tornado qui s'exécute sur http://localhost:8090
. Je veux qu'Apache renvoie tout ce qui arrive à /api/v2 via HTTPS vers http://localhost:8090
. Apache gère également l'authentification, donc je dois transférer le nom d'utilisateur authentifié à mon application Tornado. J'utilise donc mod_rewrite
.
J'ai ajouté l'entrée suivante à la configuration d'Apache:
ProxyPass http://localhost:8090
# Les quatre lignes suivantes servent à définir X-Forwarded-User
RewriteEngine On
RewriteRule .* - [E=RU:%{LA-U:REMOTE_USER}]
RequestHeader set X-Forwarded-User %{RU}e
SSLRequireSSL
AuthType Basic
AuthName "Mon site"
AuthBasicProvider external
AuthExternal pwauth
Require valid-user
Order deny,allow
Allow from all
Cela fonctionne très bien, sauf que je vois l'erreur suivante dans mon journal Apache:
La requête a dépassé la limite de 10 niveaux d'enchevêtrement de sous-requêtes en raison d'une erreur de configuration probable. Utilisez 'LimitInternalRecursion' pour augmenter la limite si nécessaire. Utilisez 'LogLevel debug' pour obtenir une trace de la pile.
J'ai activé le journal de débogage pour le module rewrite et je remarque en effet quelque chose d'étrange - il semble que la réécriture se produise 10 fois en boucle, empilant la requête sur elle-même:
172.16.0.150 - admin [29/Jan/2014:19:01:06 +0200] [sm397/sid#7f8452235588][rid#7f840c0093b8/initial] (3) [perdir /api/v2/] application du motif '.*' à l'URI 'proxy:http://localhost:8090/'
172.16.0.150 - admin [29/Jan/2014:19:01:06 +0200] [sm397/sid#7f8452235588][rid#7f840c01f638/subreq] (3) [perdir /api/v2/] application du motif '.*' à l'URI 'proxy:http://localhost:8090/proxy:http://localhost:8090/'
172.16.0.150 - admin [29/Jan/2014:19:01:06 +0200] [sm397/sid#7f8452235588][rid#7f840c00d6a8/subreq] (3) [perdir /api/v2/] application du motif '.*' à l'URI 'proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/'
172.16.0.150 - admin [29/Jan/2014:19:01:06 +0200] [sm397/sid#7f8452235588][rid#7f840c025e08/subreq] (3) [perdir /api/v2/] application du motif '.*' à l'URI 'proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/'
172.16.0.150 - admin [29/Jan/2014:19:01:06 +0200] [sm397/sid#7f8452235588][rid#7f840c029e28/subreq] (3) [perdir /api/v2/] application du motif '.*' à l'URI 'proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/'
172.16.0.150 - admin [29/Jan/2014:19:01:06 +0200] [sm397/sid#7f8452235588][rid#7f840c02de48/subreq] (3) [perdir /api/v2/] application du motif '.*' à l'URI 'proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/proxy:http://localhost:8090/'
Journal complet ici : http://pastebin.com/raw.php?i=HqnuFFpQ
Comment résoudre ce problème?
Merci