Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 17771|Válasz: 1

[Web] a nginx megkapja a felhasználó valódi IP-címét

[Linket másol]
Közzétéve 2018. 05. 19. 11:38:55 | | | |
Néhány felületünk felhasználói információs változásokat igényel, és ezek csak a hozzáférési fél módosíthatják minket, így van IP fehérlistánk a nginx-en.

A hozzáférési fél kilépési IP-címével van felszerelve.

Itt vannak a nginx hozzáférésünk naplói.



A nginx a $remote_addr-t valódi IP-címnek veszi, de valójában a $http_X_Forwarded_For a felhasználó valódi IP-címe, $remote_addr pedig csak az f5-ünk privát hálózati címe (felhasználó -->f5 --> nginx), így az nginx rossz nevet vesz fel, és a felhasználó mindig a 403-as felületet állítja.

Megoldás:

A http modulban plusz


set_real_ip_from 10.10.10.122; Mondd meg a nginxnek, hogy onnan vegye ki a RealIP értékét
real_ip_header X-Real-IP; A változó neve, amely tárolja a RealIP értéket

Tud!

Itt kezdjük az nginx jelentést, miután hozzáadtuk:

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




Így hozzáadjuk a realip modult, és újrafordítjuk a nginx-et


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

Tippek:
1. set_real_ip_from arra a valós felhasználói IP-címre utal, amelyből megbízható előproxy

2. real_ip_header a korábbi proxy átvitel felhasználói IP-címére utal, amelyből a beérkezett üzenet HTTP része származik

3. real_ip_recursive Hogy rekurzívan kizárjuk-e, amíg a felhasználói IP-cím meg nem szerzik (az alapértelmezett kikapcsolt)

Először real_ip_header egy http fejlécnevet megadni, amely alapértelmezetten X-Real-IP.

(1) Ha van 1 IP, ellenőrzi, hogy a feladó IP-címe benne van-e a set_real_ip_from által meghatározott megbízható IP-listában. Ha megbízható, azt gondolja, hogy az X-Real-IP IP IP értéke a felhasználó valódi IP-értéke, amelyet az előző ügynök mond meg, így ezt az értéket a saját $remote_addr változójához rendeli; Ha nem bíznak meg, nem lesz feldolgozva, és a $remote_addr továbbra is a feladó IP-címe.

(2) Ha például az X-Real-Ip több IP értéket tartalmaz, az előző proxy így van beállítva: proxy_set_header X-Real-Ip $proxy_add_x_forwarded_for;

Amit kapsz, az egy IP-sorozat, így real_ip_recursive értéke most kulcsfontosságú. A nginx összehasonlítja az set_real_ip_from bizalmi listán szereplő IP-ket jobbról balra az IP listán. Ha a real_ip_recursive nem működik, akkor amikor a legjobbra legjobb IP megbízható IP-nek bizonyul, azt gondoljuk, hogy a következő IP (a jobboldali második) a felhasználó valódi IP-címe. Ha a real_ip_recursive be van kapcsolva, jobbról balra hasonlítják, amíg nem talál egy nem megbízható IP-t. Ezután másold le az IP értéket is a $remote_addr-re.

Erőforrások:
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





Előző:Discuz helyszíntérképek automatikusan generálódnak
Következő:Használd az Alibaba Cloud terheléselosztást, hogy blokkold az IP-hozzáférést weboldalakhoz
Közzétéve 2018. 06. 18. 14:57:50 |
Nézd, a nginx kapja az igazi IP-t
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com