Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

informatique:reseau:apache:reverseproxy [2015/04/21 11:28] (Version actuelle)
bn8 créée
Ligne 1: Ligne 1:
 +====== Apache / Reverse Proxy ======
  
 +===== Exemple =====
 +
 +<code>
 +        <Location /api/>
 +                ProxyPass http://api.example.net/
 +                ProxyPassReverse http://api.example.net/
 +        </Location>
 +</code>
 +
 +===== Ajouter l'header X-Forwarded-User =====
 +
 +La variable //REMOTE_USER// n'est pas défini par Apache dans l'environnement se qui complique un peu la chose. L'astuce est d'utiliser //mod_rewrite// qui y a accès pour définir une variable d'environnement //RU// que l'on utilise ensuite pour l'ajouter l'header :
 +
 +<code>
 +        <Location /api/>
 +                ProxyPass http://api.example.net/
 +                ProxyPassReverse http://api.example.net/
 +                require valid-user
 +
 +                ## Add X-Forwarded-User header
 +
 +                # REMOTE_USER not accessible in env, use mod_rewrite to define RU env var
 +                RewriteEngine On
 +                RewriteCond %{REMOTE_USER} (.+)
 +                RewriteRule ^.*$ - [E=RU:%1]
 +
 +                # Add X-Forwarded-User header from RU env var
 +                RequestHeader add X-Forwarded-User %{RU}e
 +        </Location>
 +</code>