Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 17771|Odgovoriti: 1

[Web] nginx pridobi pravi IP naslov uporabnika

[Kopiraj povezavo]
Objavljeno na 19. 05. 2018 11:38:55 | | | |
Nekateri naši vmesniki vključujejo spremembe uporabniških podatkov, ti vmesniki pa omogočajo prilagajanje le dostopni strani, zato imamo IP seznam dovoljenih na nginx.

Opremljen je z izhodnim IP-jem dostopne strani.

Tukaj so zapisi iz našega dostopa do nginx.



nginx vzame naš $remote_addr kot pravi IP, vendar je v resnici $http_X_Forwarded_For pravi IP uporabnika, $remote_addr pa je le zasebni omrežni naslov našega F5 (uporabnik -->f5 --> nginx), zaradi česar nginx prevzame napačno ime in uporabnik, ki prilagaja vmesnik, je vedno 403.

Rešitev:

V http modulu plus


set_real_ip_from 10.10.10.122; Povej nginx, naj od tam dobi vrednost RealIP
real_ip_header X-Real-IP; Ime spremenljivke, ki shranjuje vrednost RealIP

Moči!

Tukaj začnemo z nginx poročilom po dodajanju:

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




Torej dodamo modul realip in ponovno prevedemo nginx


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

Nasveti:
1. set_real_ip_from se nanaša na IP dejanskega uporabnika, pridobljenega od katerega zaupanja vreden pre-proxy

2. real_ip_header se nanaša na uporabniški IP prejšnjega proxy prenosa, iz katerega je pridobljen HTTP del prejetega sporočila

3. real_ip_recursive Ali rekurzivno izključiti, dokler ni pridobljen uporabniški IP (privzeto je izklopljeno)

Najprej real_ip_header določiti ime HTTP glave, ki je privzeto X-Real-IP.

(1) Če je na voljo 1 IP, bo preveril, ali je IP pošiljatelja na seznamu zaupanja vrednih IP, ki jih določi set_real_ip_from. Če je zaupanja vreden, bo mislil, da je IP vrednost v tem X-Real-IP prava IP vrednost uporabnika, ki jo je povedal nekdanji agent, zato bo to vrednost dodelil svoji spremenljivki $remote_addr; Če ni zaupanja vreden, ne bo obdelan, $remote_addr pa je še vedno IP naslov pošiljatelja.

(2) Če ima X-Real-Ip na primer več IP vrednosti, je prejšnji proxy nastavljen takole: proxy_set_header X-Real-Ip $proxy_add_x_forwarded_for;

Dobite niz IP-jev, zato je vrednost real_ip_recursive trenutno ključna. nginx bo primerjal IP-naslove na seznamu zaupanja set_real_ip_from od desne proti levi na seznamu IP-jev. Če je real_ip_recursive napačen, potem ko se ugotovi, da je najbolj desni IP zaupanja vreden, se misli, da je naslednji IP (drugi na desni) pravi IP uporabnika. Če je real_ip_recursive vklopljen, ga primerjamo z desne proti levi, dokler ne najde zaupanja vrednega IP-ja. Nato kopiraj IP vrednost tudi v $remote_addr.

Sredstva:
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





Prejšnji:Discuz sitemapi se samodejno generirajo
Naslednji:Uporaba Alibaba Cloud load balancing za blokiranje IP dostopa do spletnih strani
Objavljeno na 18. 06. 2018 14:57:50 |
Poglej, nginx dobi pravi IP
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com