Az X-Forwarded-For X-Forwarded-For egy kiterjesztés fejléce. A HTTP/1.1 (RFC 2616) protokoll nem definiálja ezt, eredetileg a Squid, egy gyorsítótározó proxy szoftver vezette be, hogy a HTTP kérelmező valódi IP-címét képviselje, és ma már de facto szabványsá vált, amelyet széles körben használnak a főbb HTTP proxyk, terheléselosztás és egyéb továbbító szolgáltatások, valamint az RFC 7239 (Forwarded HTTP Extension) szabványba írva.
Egy hálózati struktúrában, ahol több proxy réteg található (pl. CDN és Anti-DDoS Pro IP-cím, amely webalkalmazási tűzfalhoz csatlakozik), az összes proxy IP-címe hozzáadódik az x-forwarded-for mezőhöz. Ez azért van, mert a proxy szerver minden továbbításhoz megírja a proxy IP-címet.
A formátum a következő:
X-Forwarded-For: client_ip, proxy1_ip, proxy2_ip Forge X-továbbított
Az X-Forwarded-For kérés fejlécét Postman segítségével adjuk hozzá, amely valami hasonlót hamisít:
Én az Alibaba Cloud SLB szolgáltatását, az SLB > IIS-t használtam, ha az első IP-címet kapjuk, akkor az biztosan hibás, az utolsó IP-cím az ügyfél valódi IP-címe.
(A valóságban a saját architektúrád szerint kell megszerezni, és a kliens valódi IP-címének megszerzése attól függ, hány réteg proxyn mentél keresztül.Hiszünk az első rétegben)
A nginx fordított proxyként való használatához a következőképpen állíthatod be:
A legkülső proxy szerver nem bízik az ügyfél X-Forwarded-For bemenetében, közvetlenül felülírja, ahelyett, hogy hozzáadná.
|