X-Forwarded-For X-Forwarded-For je hlavička rozšírenia. Protokol HTTP/1.1 (RFC 2616) ho nedefinuje, pôvodne ho zaviedol Squid, softvér na cachovanie proxy, aby reprezentoval skutočnú IP adresu HTTP žiadateľa, a dnes sa stal de facto štandardom, široko používaným hlavnými HTTP proxy, load balancing a inými forwardingovými službami, a je zapísaný v štandarde RFC 7239 (Forwarded HTTP Extension).
V sieťovej štruktúre s viacerými vrstvami proxy (napr. CDN a Anti-DDoS Pro IP adresa pripojená k webovému aplikačnému firewallu) sa IP adresy všetkých proxy pridávajú do poľa x-forwarded-for. Je to preto, že proxy server zapisuje proxy IP adresu pre každé presmerovanie.
Formát je nasledovný:
X-Forwarded-For: client_ip, proxy1_ip, proxy2_ip Forge X-Forwarded-For
Pridávame hlavičku požiadavky X-Forwarded-For cez poštára, ktorá vytvára niečo takéto:
Použil som SLB službu Alibaba Cloud, SLB -> IIS, ak dostaneme prvú IP adresu, musí to byť nesprávne, posledná IP adresa je skutočná IP adresa klienta.
(V reálnom živote ho musíte získať podľa svojej vlastnej architektúry a získanie skutočnej IP adresy klienta závisí od toho, koľko vrstiev proxy ste prešli.Veríš v prvú vrstvu)
Použitie nginx ako reverzného proxy môžete nastaviť nasledovne:
Najvzdialenejší proxy server neverí X-Forwarded-For vstupu klienta, priamo ho prepíše, namiesto toho, aby ho pripojil.
|