IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

condition sur un reverse proxy


Sujet :

Apache

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 25
    Points : 16
    Points
    16
    Par défaut condition sur un reverse proxy
    Bonjour,

    Je ne suis pas très familier avec la syntaxe conditionnelle. Mon reverse proxy apache est configuré comme suit :

    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]
    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.
    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

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    RequestHeader ne fait pas partie de mod_rewrite et ne peut donc pas travailler directement avec des conditions RewriteCond. Il faut passer par les variables d'environnement : utiliser mod_rewrite pour positionner une variable d'environnement qui est vérifiée par RequestHeader :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    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]
    RewriteRule .* - [E=jws:true]
    RequestHeader set X-HEADER-USER 'JWS' env=jws
    Rewriterule /BBB/(.*)  http://hostA:80/AAA/$1 [QSA,P,L]
    Tu peux aussi alternativement utiliser SetEnvIf pour définir la variable d'environnement.

Discussions similaires

  1. Pound reverse proxy ne redirige pas correctement sur un port différent de 80
    Par Balbuzard dans le forum Administration système
    Réponses: 0
    Dernier message: 17/07/2011, 18h08
  2. Reverse proxy sur Apache 2 pour OWA 2007
    Par Albator84 dans le forum Apache
    Réponses: 17
    Dernier message: 25/10/2010, 14h41
  3. Obtention d'identifiants sur un reverse Proxy
    Par isagarran dans le forum Apache
    Réponses: 3
    Dernier message: 25/03/2010, 21h44
  4. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 14h25
  5. Condition sur debug et release
    Par xave dans le forum MFC
    Réponses: 3
    Dernier message: 04/02/2004, 15h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo