La description de Wikipédia de l'en-tête HTTP X-Forwarded-For
est la suivante:
X-Forwarded-For: client1, proxy1, proxy2, ...
La documentation de la directive nginx se real_ip_header
lit notamment:
Cette directive définit le nom de l'en-tête utilisé pour transférer l'adresse IP de remplacement.
Dans le cas de X-Forwarded-For, ce module utilise la dernière adresse IP de l'en-tête X-Forwarded-For pour le remplacement. [Souligne moi]
Ces deux descriptions semblent en contradiction. Dans notre scénario, l'en- X-Forwarded-For
tête correspond exactement à la description. L'adresse IP "réelle" du client est l'entrée la plus à gauche. De même, le comportement de nginx consiste à utiliser la valeur la plus à droite - qui, de toute évidence, n’est qu’un de nos serveurs proxy.
D'après ce que je comprends, X-Real-IP
cela est censé être utilisé pour déterminer l' adresse IP réelle du client, et non le proxy. Est-ce que quelque chose me manque ou est-ce un bogue dans nginx?
Et, au-delà de cela, est-ce que quelqu'un a des suggestions sur la manière de rendre l'en- X-Real-IP
tête afficher la valeur la plus à gauche , comme indiqué par la définition de X-Forwarded-For
?