Projet

Général

Profil

Anomalie #2064

Log Apache incorrect derrière un reverse proxy

Ajouté par Emmanuel GARETTE (2) il y a plus de 12 ans. Mis à jour il y a plus de 12 ans.

Statut:
Fermé
Priorité:
Normal
Catégorie:
-
Début:
15/09/2011
Echéance:
% réalisé:

100%

Temps passé:
Distribution:
EOLE 2.3

Description

Lorsqu'Apache est derrière un reverse proxy, les logs ont l'adresse IP du reverse proxy et non l'adresse IP de l'utilisateur.

Pour cela, il est possible d'utilise le module rpaf d'Apache.

Pour cela, il faut ajouter le paquet "libapache2-mod-rpaf" à web-pkg et ajouter 2 questions :

- activer_web_behind_revproxy
- web_behind_revproxy_ip

Modification du dictionnaire 20_web.xml :

--- /root/20_web.xml    2011-09-15 20:22:18.458319935 +0200
+++ /usr/share/eole/creole/dicos/20_web.xml    2011-09-15 21:25:55.558291257 +0200
@@ -14,6 +14,7 @@
             <file name='/etc/apache2/sites-enabled/apache-scribe.conf'/>
             <file name='/etc/apache2/sites-enabled/Vhost.conf'/>
             <file name='/etc/apache2/sites-enabled/Vhost-ssl.conf'/>
+            <file name='/etc/apache2/mods-enabled/rpaf.conf' rm='True' filelist='rpaf'/>
             <file name='/etc/php5/apache2/php.ini' del_comment=';'/>
             <!-- remonter des logs vers la maitre -->
             <file name='/etc/rsyslog.d/50-default.conf' source="50-default-conteneur.conf" container_only="True"/>
@@ -36,6 +37,10 @@
             <variable name='web_redirection' type='string' description='Application web par défaut (redirection)' >
                 <value>/</value>
             </variable>
+            <variable name='activer_web_behind_revproxy' type='oui/non' description="Le serveur web est derrière un reverse proxy">
+                <value>non</value>
+            </variable>
+            <variable name='web_behind_revproxy_ip' type='ip' description="Adresse IP du serveur reverse proxy"/>
         </family>
         <family name='apache' mode='expert'>
             <variable name='apache_plus' type='oui/non' description="Ajout d'applications web supplémentaire" >
@@ -76,6 +81,7 @@
         <check name='valid_alias' target='web_redirection'/>

         <check name='obligatoire' target='web_url'/>
+        <check name='obligatoire' target='web_behind_revproxy_ip'/>

         <auto name='calc_container' target='adresse_ip_web'>
             <param>container_ip_web</param>
@@ -83,6 +89,11 @@
         <group master='apache_dir'>
             <slave>apache_alias</slave>
         </group>
+        <condition name='hidden_if_in' source='activer_web_behind_revproxy'>
+            <param>non</param>
+            <target type="filelist">rpaf</target>
+            <target type='variable'>web_behind_revproxy_ip</target>
+        </condition>
         <condition name='hidden_if_in' source='activer_apache'>
             <param>non</param>
             <target type="servicelist">apache</target>

Modification du dictionnaire 25_nginx.xml :

--- /root/25_nginx.xml    2011-09-15 20:30:21.958326337 +0200
+++ /usr/share/eole/creole/dicos/25_nginx.xml    2011-09-15 21:09:31.331637019 +0200
@@ -49,6 +49,13 @@
                 <value></value>
             </variable>
         </family>
+        <family name='applications web' hidden='True'>
+            <!-- creer si n'existe pas et cache-->
+            <variable name='activer_web_behind_revproxy' type='oui/non' redefine='True' hidden='True'>
+                <value>oui</value>
+            </variable>
+            <variable name='web_behind_revproxy_ip' type='ip' redefine='True' hidden='True'/>
+        </family>
         <separators>
             <separator name='revprox_sso'>Redirection de services particuliers</separator>
             <separator name='revprox_activate_http'>Redirection HTTP et HTTPS</separator>
@@ -90,6 +97,13 @@
             <target type='variable'>revprox_https</target>
             <target type='variable'>revprox_url</target>
         </condition>
+        <condition name='hidden_if_in' source='activer_web_behind_revproxy'>
+            <param>oui</param>
+            <target type='variable'>web_behind_revproxy_ip</target>
+        </condition>
+        <auto name='calc_container' target='web_behind_revproxy_ip'>
+            <param>adresse_ip_br0</param>
+        </auto>
     </constraints>
     <!--************************************************************************************************* -->
     <help>

Le template rpaf.conf :

<IfModule mod_rpaf.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips %%web_behind_revproxy_ip
</IfModule>

Demandes liées

Lié à conf-scribe - Anomalie #2065: phpmyadmin est une interface d'administration, l'accès devrait être limité Fermé 15/09/2011
Lié à eole-web - Anomalie #2570: Problème à l'activation du mod_rpaf Fermé 08/12/2011

Révisions associées

Révision aaaa69d4 (diff)
Ajouté par Joël Cuissinat il y a plus de 12 ans

log Apache derrière un reverse proxy : partie web (fixes #2064)

Révision 4429a50e (diff)
Ajouté par Joël Cuissinat il y a plus de 12 ans

log Apache derrière un reverse proxy : partie revprox (fixes #2064) + fix tabs

Révision 17d4cd39 (diff)
Ajouté par Fabrice Barconnière il y a plus de 12 ans

modif 25_nging.xml (fixes #2064)

Historique

#1 Mis à jour par Joël Cuissinat il y a plus de 12 ans

  • Version cible mis à Mises à jour 2.3 - 02 RC

#2 Mis à jour par Joël Cuissinat il y a plus de 12 ans

  • Statut changé de Nouveau à Résolu
  • % réalisé changé de 0 à 100

Appliqué par commit commit:"aaaa69d46dac36e5d03704a8ef18e36c019d90c5".

#3 Mis à jour par Joël Cuissinat il y a plus de 12 ans

  • Projet changé de conf-scribe à conf-amon

#4 Mis à jour par Joël Cuissinat il y a plus de 12 ans

#5 Mis à jour par Emmanuel GARETTE il y a plus de 12 ans

  • Statut changé de Résolu à Accepté
  • Distribution mis à EOLE 2.3

Il y a un soucis dans le dico 25_nginx.xml :/

Il faut que ca soit un hidden_if_not_in ou il faut que le param soit "non" :

        <condition name='hidden_if_in' source='activer_web_behind_revproxy'>
            <param>oui</param>
            <target type='variable'>web_behind_revproxy_ip</target>
        </condition>

#6 Mis à jour par Fabrice Barconnière il y a plus de 12 ans

  • Statut changé de Accepté à Résolu

#7 Mis à jour par Fabrice Barconnière il y a plus de 12 ans

  • Statut changé de Résolu à Fermé

#8 Mis à jour par Joël Cuissinat il y a plus de 12 ans

  • Statut changé de Fermé à Résolu
  • Version cible changé de Mises à jour 2.3 - 02 RC à Mises à jour 2.3 - 02 Stable

Je ne suis pas d'accord que l'on ferme cette demande alors que le paquet n'a même pas été refait depuis le dernier commit !

#9 Mis à jour par Emmanuel GARETTE il y a plus de 12 ans

  • Statut changé de Résolu à Nouveau

Il manque le fichier rpaf.load dans mod-enabled.

Il faudrait utilisé la commande a2enmod rpaf. Le soucis c'est que le fichier est templatisé dans mod-enabled et non dans site-availabled. La commande a2enmod n'aime visiblement pas.

#10 Mis à jour par Fabrice Barconnière il y a plus de 12 ans

  • Version cible changé de Mises à jour 2.3 - 02 Stable à Mises à jour 2.3 - 03 RC
  • % réalisé changé de 100 à 50

#11 Mis à jour par Joël Cuissinat il y a plus de 12 ans

  • Statut changé de Nouveau à Résolu
  • Assigné à mis à Fabrice Barconnière
  • % réalisé changé de 50 à 100

#12 Mis à jour par Fabrice Barconnière il y a plus de 12 ans

  • Statut changé de Résolu à Fermé

Formats disponibles : Atom PDF