X-Forwarded-For X-Forwarded-For je glava razširitve. Protokol HTTP/1.1 (RFC 2616) ga ne definira; prvotno ga je uvedel Squid, programska oprema za predpomnilniški proxy, da predstavlja pravi IP HTTP prosilca, zdaj pa je postal de facto standard, ki ga pogosto uporabljajo glavni HTTP proxyji, uravnavanje obremenitve in druge storitve za posredovanje ter je zapisan v standard RFC 7239 (Forwarded HTTP Extension).
V omrežni strukturi z več plastmi proxyjev (npr. CDN in Anti-DDoS Pro IP naslov, povezan z požarnim zidom spletnih aplikacij) se IP naslovi vseh proxyjev dodajo v polje x-posredovanega. To je zato, ker proxy strežnik zapiše proxy IP naslov za vsako posredovanje.
Format je naslednji:
X-Forwarded-For: client_ip, proxy1_ip, proxy2_ip Forge X-posredovano-za
Dodali smo X-Forwarded-For glavo zahteve preko poštarja, ki ustvari nekaj takega:
Uporabil sem SLB storitev Alibaba Cloud, SLB -> IIS, če dobimo prvi IP naslov, mora biti napačen, zadnji IP naslov je pravi IP naslov odjemalca.
(V resničnem življenju ga morate pridobiti glede na svojo lastno arhitekturo, pridobivanje pravega IP naslova odjemalca pa je odvisno od tega, koliko plasti proxyjev ste že uporabili.Verjameš v prvo plast)
Za uporabo nginx kot obratnega proxyja lahko nastavite takole:
Najbolj zunanji proxy strežnik ne zaupa X-Forwarded-For vhodu odjemalca, temveč ga neposredno prepiše, namesto da bi ga dodal.
|