J'écris une configuration nginx qui nécessite un proxy, et j'ai besoin de l'adresse IP originale. Le module HttpProxyModule de Nginx $proxy_add_x_forwarded_for
semble parfaitement adaptée à la tâche, sauf que mon Nginx se trouve derrière un équilibre de charge qui ne définit pas de variable X-Forwarded-For
mais X-Cluster-Client-Ip
.
Maintenant, une possibilité serait d'utiliser
set X-Forwarded-For $http_x_cluster_client_ip,$proxy_add_x_forwarded_for
mais parfois il y a sont des accès directs au serveur, ce qui laisserait une virgule de tête dans l'en-tête. J'ai pensé à utiliser if
mais ce scénario se situe en plein milieu des cas où if
est problématique à utiliser.
Notez que, parce que le client peut avoir été proxyé, je veux préserver toutes les données présentes dans le fichier X-Forwarded-For
s'il en existe un, en outre pour faire passer les données de X-Cluster-Client-Ip
.
Des alternatives ?