Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 17771|Svar: 1

[Web] nginx får brugerens rigtige IP-adresse

[Kopier link]
Opslået på 19/05/2018 11.38.55 | | | |
Nogle af vores grænseflader involverer ændringer i brugerinformation, og disse grænseflader tillader kun adgangsparten at justere os, så vi har en IP-hvidliste på nginx.

Den er udstyret med adgangspartens exit-IP.

Her er logs fra vores nginx-adgang.



nginx tager vores $remote_addr som den rigtige IP, men faktisk er $http_X_Forwarded_For brugerens rigtige IP, $remote_addr er blot den private netværksadresse på vores f5 (bruger -->f5 --> nginx), hvilket resulterer i, at nginx tager det forkerte navn, og brugeren, der justerer interfacet, altid er 403.

Opløsning:

I http-modulet plus


set_real_ip_from 10.10.10.122; Sig til nginx, at de skal få værdien af RealIP derfra
real_ip_header X-Real-IP; Navnet på den variabel, der gemmer RealIP-værdien

Dåse!

Her starter vi nginx-rapporten efter at have tilføjet:

nginx: [emerg] unknown directive "set_real_ip_from" in /home/lnidmp/nginx/conf/nginx.conf:26




Så vi tilføjer realip-modulet og genkompilerer nginx


1、cd /usr/local/nginx-1.6.3
2、./configure --præfiks=/usr/cmcc/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
3、Make & Make install

Tips:
1. set_real_ip_from henviser til den rigtige bruger-IP, som er opnået fra en betroet pre-proxy

2. real_ip_header henviser til bruger-IP'en for den tidligere proxy-transmission, hvorfra HTTP-delen af den modtagne besked opnås

3. real_ip_recursive Om man skal udelukke rekursivt, indtil brugerens IP er opnået (standard er slået fra)

Først specificerer real_ip_header et http-headernavn, som som standard er X-Real-IP.

(1) Hvis der er 1 IP, vil den kontrollere, om afsenderens IP er i den betroede IP-liste, der er angivet af set_real_ip_from. Hvis den er tillidsfuld, vil den tro, at IP-værdien i denne X-Real-IP er brugerens reelle IP-værdi, som den tidligere agent har oplyst, så den vil tildele denne værdi til sin egen $remote_addr-variabel; Hvis den ikke er betroet, vil den ikke blive behandlet, og $remote_addr er stadig afsenderens IP-adresse.

(2) Hvis X-Real-Ip har flere IP-værdier, for eksempel, sættes den tidligere proxy således: proxy_set_header X-Real-Ip $proxy_add_x_forwarded_for;

Det, du får, er en række IP'er, så værdien af real_ip_recursive er afgørende lige nu. nginx vil sammenligne IP-adresserne i set_real_ip_from tillidslisten fra højre mod venstre i IP-listen. Hvis real_ip_recursive er forkert, mener man, at den næste IP (den anden til højre) er brugerens rigtige IP, når den højre IP findes at være en betroet IP. Hvis real_ip_recursive er tændt, vil den blive sammenlignet fra højre mod venstre, indtil den finder en ikke-betroet IP. Kopier derefter IP-værdien til $remote_addr også.

Ressourcer:
https://help.aliyun.com/document_detail/54007.html
https://help.aliyun.com/knowledge_detail/55198.html
https://www.linux178.com/web/nginx-get-realip.html





Tidligere:Discuz-sitemaps genereres automatisk
Næste:Brug Alibaba Cloud load balancing til at blokere IP-adgang til hjemmesider
Opslået på 18/06/2018 14.57.50 |
Se, nginx får den rigtige IP
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com