X-Forwarded-For X-Forwarded-For ir paplašinājuma galvene. HTTP/1.1 (RFC 2616) protokols to nedefinē, to sākotnēji ieviesa Squid, kešatmiņas starpniekservera programmatūra, lai attēlotu HTTP pieprasītāja reālo IP, un tagad tas ir kļuvis par de facto standartu, ko plaši izmanto galvenie HTTP starpniekserveri, slodzes balansēšanas un citi pārsūtīšanas pakalpojumi un ierakstīts RFC 7239 (Forwarded HTTP Extension) standartā.
Tīkla struktūrā ar vairākiem starpniekserveru slāņiem (piemēram, CDN un Anti-DDoS Pro IP adrese, kas savienota ar tīmekļa lietojumprogrammu ugunsmūri), visu starpniekserveru IP adreses tiek pievienotas laukam x-forwarded-for. Tas ir tāpēc, ka starpniekserveris raksta starpniekservera IP adresi katrai pārsūtīšanai.
Formāts ir šāds:
X-Forwarded-For: client_ip, proxy1_ip, proxy2_ip Kalšana X-Forwarded-For
Mēs pievienojam X-Forwarded-For pieprasījuma galveni, izmantojot pastnieku, kas veido kaut ko līdzīgu šim:
Es izmantoju Alibaba Cloud SLB pakalpojumu, SLB -> IIS, ja mēs iegūstam pirmo IP adresi, tai jābūt nepareizai, pēdējā IP adrese ir klienta īstā IP adrese.
(Reālajā dzīvē tas ir jāiegūst saskaņā ar savu arhitektūru, un klienta reālās IP adreses iegūšana ir atkarīga no tā, cik daudz starpniekserveru slāņu esat izgājis.Jūs ticat pirmajam slānim)
Lai izmantotu nginx kā apgriezto starpniekserveri, varat to iestatīt šādi:
Tālākais starpniekserveris neuzticas klienta X-Forwarded-For ievadei, tieši to pārrakstot, nevis pievienojot.
|