Bonjour,
Je ne suis pas très familier avec la syntaxe conditionnelle. Mon reverse proxy apache est configuré comme suit :
Mon objectif est de marquer un flux en positionnant un header dans la requête. J'ai donc un URI AAA que je redirige sur hostA:80/AAA et j'ai un autre URI BBB que je redirige aussi vers hostA:80/AAA.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Rewriterule /AAA/(.*) http://hostA:80/AAA/$1 [QSA,P,L] #Redirection des flux JWS (positionnement d'un header dans la requete pour le JWS) RewriteCond %{HTTP_USER_AGENT} !^.*Java.* [OR,NC] RewriteCond %{HTTP_USER_AGENT} !^.*javaws.* [OR,NC] RequestHeader set X-HEADER-USER 'JWS' Rewriterule /BBB/(.*) http://hostA:80/AAA/$1 [QSA,P,L]
Je sais que les requêtes BBB ont un user-agent spécifique pour du JWS. Donc je teste avant la règle de routage BBB le user-agent et je positionne un header. La technique de redirection fonctionne bien, le positionnement du header aussi mais ... un peu trop.
J'ai un gros problème. le header X-HEADER-USER est positionné sur toutes les requêtes quelles que soient le positionnement des règles Rewriterule.
Donc lorsque je capte un URI AAA, je le redirige correctement mais le header est positionné. Comment puis-je éviter cela et faire en sorte que le RewriteCond et RequestHeader ne fonctionne que pour le Rewriterule /BBB.
Merci de votre aide.
isagarran
Partager