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