logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 11-08-2015 18:38:19

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 27-07-2015

Pound + Nginx : comment récupérer l'adresse IP client (visiteur) ?

Bonsoir,

J'ai installé Pound pour rediriger le trafic web vers des services qui tournent avec LXC, le trafic est bien redirigé, mais je n'arrive pas à récupérer l'adresse IP des visiteurs avec Nginx. Dans les logs de Nginx par exemple c'est l'adresse IP local (hôte) qui est récupérée, pour le PHP-FPM c'est la même chose.

Voici mon fichier "/etc/pound/pound.cfg" :


## Minimal sample pound.cfg
##
## see pound(8) for details


######################################################################
## global options:

User            "www-data"
Group           "www-data"
#RootJail       "/chroot/pound"

## Logging: (goes to syslog by default)
##      0       no logging
##      1       normal
##      2       extended
##      3       Apache-style (common log format)
LogLevel        1

## check backend every X secs:
Alive           30

## use hardware-accelleration card supported by openssl(1):
#SSLEngine      ""

# poundctl control socket
Control "/var/run/pound/poundctl.socket"


######################################################################
## listen, redirect and ... to:

## redirect all requests on port 8080 ("ListenHTTP") to the local webserver (see "Service" below):

#ListenHTTP
#        Address 0.0.0.0
#        Port 80
        ## allow PUT and DELETE also (by default only GET, POST and HEAD)?:
#        xHTTP           2
#        Service
#                BackEnd
#                        Address 192.168.xxx.xx
#                        Port    80
#                End
#        End
#End

ListenHTTPS
        Address 0.0.0.0
        Port 443
        Cert "/etc/pound/ssl/server.pem"

        AddHeader "X-Forwarded-Proto: https"

        ## allow PUT and DELETE also (by default only GET, POST and HEAD)?:
        xHTTP           2
        Service
                HeadRequire "Host:.*sous-domaine.xxxxxxx.xxxxx.*"
                BackEnd
                        Address 192.168.xxx.xx
                        Port    80
                End
        End
End
 



Quelqu'un a une idée ?


Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#2 11-08-2015 21:11:47

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 27-07-2015

Re : Pound + Nginx : comment récupérer l'adresse IP client (visiteur) ?

Bon je réponds à moi même et je donne la solution :

Si vous avez un Nginx qui tourne derrière un reverse proxy, il faut modifier le fichier de configuration de Nginx ou directement dans un VirtualHost mettre ceci :

server {
....

    # Liste des IP des reverse proxies(Pound), par exemple
    set_real_ip_from 192.168.101.0/24;
    #set_real_ip_from 192.168.101.5;
    # Le header HTTP qui contient la vraie IP
    real_ip_header X-Forwarded-For;

....
}

Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

Pied de page des forums