Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 17771|Antwort: 1

[Web] nginx erhält die reale IP-Adresse des Nutzers

[Link kopieren]
Veröffentlicht am 19.05.2018 11:38:55 | | | |
Einige unserer Schnittstellen beinhalten Änderungen an Benutzerinformationen, und diese Schnittstellen erlauben nur der Zugriffspartei, uns anzupassen, daher haben wir eine IP-Whitelist auf nginx.

Sie ist mit der Ausgangs-IP der Zugangspartei ausgestattet.

Hier sind die Protokolle von unserem nginx-Zugang.



nginx nimmt unsere $remote_addr als echte IP, aber tatsächlich ist $http_X_Forwarded_For die echte IP des Benutzers, $remote_addr ist einfach die private Netzwerkadresse unseres f5 (Benutzer -->f5 --> nginx), was dazu führt, dass nginx den falschen Namen annimmt und der Benutzer die Schnittstelle immer 403 anpasst.

Lösung:

Im HTTP-Modul Plus


set_real_ip_from 10.10.10.122; Sag nginx, sie sollen den Wert von RealIP daraus ziehen
real_ip_header X-Real-IP; Der Name der Variable, die den RealIP-Wert speichert

Dose!

Hier beginnen wir mit dem nginx-Bericht nach dem Hinzufügen:

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




Also fügen wir das Realip-Modul hinzu und kompilieren nginx neu


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 Installation

Tipps:
1. set_real_ip_from bezieht sich auf die echte Benutzer-IP, von der ein vertrauenswürdiger Pre-Proxy erhalten wird

2. real_ip_header bezieht sich auf die Benutzer-IP der vorherigen Proxy-Übertragung, von der HTTP-Teil der empfangenen Nachricht stammt

3. real_ip_recursive Ob rekursiv ausgeschlossen werden soll, bis die Benutzer-IP erhalten ist (standardmäßig ist deaktiviert)

Zuerst real_ip_header einen HTTP-Header-Namen angeben, der standardmäßig X-Real-IP ist.

(1) Wenn es 1 IP gibt, wird überprüft, ob die IP des Absenders in der vom set_real_ip_from angegebenen vertrauenswürdigen IP-Liste steht. Wenn es vertrauenswürdig ist, wird es annehmen, dass der IP-Wert in diesem X-Real-IP der echte IP-Wert des Benutzers ist, der vom vorherigen Agenten angegeben wurde, und weist diesen Wert seiner eigenen $remote_addr-Variable zu; Wenn es nicht vertrauenswert ist, wird es nicht verarbeitet, und $remote_addr ist weiterhin die IP-Adresse des Absenders.

(2) Wenn X-Real-Ip zum Beispiel mehrere IP-Werte hat, wird der vorherige Proxy wie folgt gesetzt: proxy_set_header X-Real-Ip $proxy_add_x_forwarded_for;

Was man bekommt, ist eine Kette von IPs, daher ist der Wert der real_ip_recursive derzeit entscheidend. nginx vergleicht die IPs in der set_real_ip_from Trustliste von rechts nach links in der IP-Liste. Wenn die real_ip_recursive falsch ist, dann wird angenommen, dass die nächste IP (die zweite rechts) die echte IP des Benutzers ist, wenn die rechte IP als vertrauenswürdig identifiziert wird. Wenn der real_ip_recursive aktiviert ist, wird er von rechts nach links verglichen, bis eine nicht vertrauenswürdige IP gefunden wird. Dann kopieren Sie auch den IP-Wert auf $remote_adr.

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





Vorhergehend:Discuz-Sitemaps werden automatisch erstellt
Nächster:Nutze Alibaba Cloud Load Balancing, um IP-Zugriff auf Webseiten zu blockieren
Veröffentlicht am 18.06.2018 14:57:50 |
Schau, nginx bekommt das echte IP
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com