Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 17771|Atsakyti: 1

[Žiniatinklis] nginx gauna tikrąjį vartotojo IP adresą

[Kopijuoti nuorodą]
Paskelbta 2018-05-19 11:38:55 | | | |
Kai kurios mūsų sąsajos susijusios su vartotojo informacijos pakeitimais, o šios sąsajos leidžia tik prieigos šaliai mus koreguoti, todėl turime IP baltąjį sąrašą nginx.

Jame yra prieigos šalies išėjimo IP.

Čia yra mūsų nginx prieigos žurnalai.



nginx priima mūsų $remote_addr kaip tikrąjį IP, bet iš tikrųjų $http_X_Forwarded_For yra tikrasis vartotojo IP, $remote_addr yra tik mūsų f5 (vartotojas -->f5 --> nginx) privataus tinklo adresas, todėl nginx priima neteisingą pavadinimą, o vartotojas koreguoja sąsają visada yra 403.

Sprendimas:

Į http modulį plius


set_real_ip_from 10.10.10.122; Pasakykite nginx, kad iš ten gautumėte RealIP vertę
real_ip_header X-Real-IP; Kintamojo, kuriame saugoma RealIP reikšmė, pavadinimas

Galėti!

Čia pradedame nginx ataskaitą pridėję:

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




Taigi pridedame realip modulį ir iš naujo kompiliuojame 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 、 Padaryti ir įdiegti

Patarimai:
1. set_real_ip_from reiškia tikrąjį vartotojo IP, gautą iš kurio patikimas išankstinis tarpinis

2. real_ip_header nurodo ankstesnio tarpinio serverio perdavimo, iš kurio gaunama gauto pranešimo HTTP dalis, vartotojo IP

3. real_ip_recursive Ar rekursyviai išskirti, kol nebus gautas vartotojo IP (numatytasis nustatymas išjungtas)

Pirmiausia real_ip_header nurodyti http antraštės pavadinimą, kuris pagal numatytuosius nustatymus yra X-Real-IP.

(1) Jei yra 1 IP, jis patikrins, ar siuntėjo IP yra set_real_ip_from nurodytame patikimų IP sąraše. Jei juo pasitikima, jis manys, kad IP reikšmė šiame X-Real-IP yra tikroji vartotojo IP vertė, kurią nurodė buvęs agentas, todėl priskirs šią reikšmę savo $remote_addr kintamajam; Jei jis nepatikimas, jis nebus apdorojamas, o $remote_addr vis tiek yra siuntėjo IP adresas.

(2) Pavyzdžiui, jei X-Real-Ip turi kelias IP reikšmes, ankstesnis tarpinis serveris nustatomas taip: proxy_set_header X-Real-Ip $proxy_add_x_forwarded_for;

Tai, ką gaunate, yra IP eilutė, todėl real_ip_recursive vertė šiuo metu yra labai svarbi. nginx palygins IP adresus set_real_ip_from patikimumo sąraše iš dešinės į kairę IP sąraše. Jei real_ip_recursive išjungtas, tada, kai nustatoma, kad dešinysis IP yra patikimas IP, manoma, kad kitas IP (antras dešinėje) yra tikrasis vartotojo IP. Jei real_ip_recursive įjungtas, jis bus lyginamas iš dešinės į kairę, kol suras nepatikimą IP. Tada nukopijuokite IP reikšmę į $remote_addr taip pat.

Išteklių:
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





Ankstesnis:"Discuz" svetainių žemėlapiai generuojami automatiškai
Kitą:Naudokite "Alibaba Cloud" apkrovos balansavimą, kad blokuotumėte IP prieigą prie svetainių
Paskelbta 2018-06-18 14:57:50 |
Žiūrėk, nginx gauna tikrąjį IP
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com