Le 18/08/2023 à 10:24, RogerT a écrit :
Bonjour,

Avec nginx configuré en reverse proxy, j’ai un souci pour qu’il passe l’adresse 
IP du client au serveur web.

Il réécrit l’entête en y mettant son adresse IP (cad celle du serveur où est 
nginx). C’est cette adresse que voit le serveur web à qui il passe la requête 
et qui ne sait donc pas où se trouve le client (pour une vérification de 
sécurité).

Il y a plein de discussions sur les forums à propos d’ancienne et de nouvelle 
syntaxe nginx.

Vu de loin, ça a l’air simple : contrôler la réécriture des entêtes.

En pratique, comment configurer ? Quelle syntaxe ?

Merci

Bonjour,

Pour réaliser ce que tu souhaires (reverse proxy nginx, serveur final apache) voici ce que je te suggère:

- sur le reverse proxy nginx:
...
location / {
        ...
        proxy_pass http.....
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        ...
}

- sur le serveur final apache
a2enable mod rpaf
editer /etc/apache2/mods-enabled/rpaf.conf
<IfModule rpaf_module>
    RPAFenable On

    # When enabled, take the incoming X-Host header and
    # update the virtualhost settings accordingly:
    RPAFsethostname On

    # Define which IP's are your frontend proxies that sends
    # the correct X-Forwarded-For headers:
    #RPAFproxy_ips 127.0.0.1 ::1
    RPAFproxy_ips 192.168.128.1 # adresse IP du reverse proxy

    # Change the header name to parse from the default
    # X-Forwarded-For to something of your choice:
#   RPAFheader X-Real-IP
</IfModule>

En espérant que cette "recette de cuisine" réponde à ton besoin

Jacques



        

Répondre à