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
|