La descripción de Wikipedia del encabezado HTTP X-Forwarded-For
es:
X-Forward-For: cliente1, proxy1, proxy2, ...
La documentación de nginx para la directiva real_ip_header
lee, en parte:
Esta directiva establece el nombre del encabezado utilizado para transferir la dirección IP de reemplazo.
En el caso de X-Fordered-For, este módulo utiliza la última ip en el encabezado X-Fordered-For para el reemplazo. [El énfasis es mío]
Estas dos descripciones parecen estar en desacuerdo entre sí. En nuestro escenario, el X-Forwarded-For
encabezado es exactamente como se describe: la dirección IP "real" del cliente es la entrada más a la izquierda. Del mismo modo, el comportamiento de nginx es utilizar el valor más adecuado , que, obviamente, es solo uno de nuestros servidores proxy.
Según tengo entendido X-Real-IP
, se supone que debe usarse para determinar la dirección IP del cliente real , no el proxy. ¿Me estoy perdiendo algo o es un error en nginx?
Y, más allá de eso, ¿alguien tiene alguna sugerencia sobre cómo hacer que el X-Real-IP
encabezado muestre el valor más a la izquierda , como lo indica la definición de X-Forwarded-For
?