La descrizione di Wikipedia dell'intestazione HTTP X-Forwarded-For
è:
X-Forwarded-For: client1, proxy1, proxy2, ...
La documentazione nginx per la direttiva real_ip_header
recita, in parte:
Questa direttiva imposta il nome dell'intestazione utilizzata per il trasferimento dell'indirizzo IP sostitutivo.
Nel caso di X-Forwarded-For, questo modulo utilizza l' ultimo ip nell'intestazione X-Forwarded-For per la sostituzione. [Enfasi mia]
Queste due descrizioni sembrano in contrasto tra loro. Nel nostro scenario, l' X-Forwarded-For
intestazione è esattamente come descritta: l'indirizzo IP "reale" del client è la voce più a sinistra. Allo stesso modo, il comportamento di nginx è di usare il valore più giusto - che, ovviamente, è solo uno dei nostri server proxy.
La mia comprensione X-Real-IP
è che si suppone che debba essere utilizzato per determinare l' indirizzo IP del client effettivo , non il proxy. Mi sto perdendo qualcosa o è un bug in nginx?
E, a parte questo, qualcuno ha qualche suggerimento su come fare in modo che l' X-Real-IP
intestazione visualizzi il valore più a sinistra , come indicato dalla definizione di X-Forwarded-For
?