Zweck der Verwendung von Nginx Lassen Sie uns zunächst über den Hintergrund des Autors zur Verwendung von Nginx sprechen, indem wir den Alibaba Cloud ECS-Cloud-Server verwenden. Nach der Initialisierung von ECS wird eine öffentliche IP-Adresse generiert. Die Standardzugriffs-IP-Adresse greift automatisch auf Port 80 zu. Zu diesem Zeitpunkt können Sie über die IP-Adresse direkt auf den auf Port 80 gestarteten Dienst zugreifen. Wenn Sie den Domänennamen in die aktuelle IP-Adresse auflösen, können Sie über den Domänennamen direkt auf den Dienst am Port 80 zugreifen. Dann tritt jedoch ein Problem auf: Jeder kann den Domänennamen in die IP-Adresse auflösen, was bedeutet, dass auf die Dienste auf Ihrem ECS über andere Domänennamen zugegriffen werden kann. Was den Zweck betrifft, ist diese Angriffsmethode zu offensichtlich. Sie wollen wahrscheinlich Domänennamen sammeln und diese dann verkaufen (ich vermute, wer viel Fantasie hat, teilt uns bitte seine Meinung mit). Es gibt viele Möglichkeiten, diesen Angriff zu vermeiden. Den Antworten im Internet zufolge ist die Konfiguration von Nginx die bequemste und schnellste. Die allgemeine Idee ist wie folgt: Der Webdienst wird mit einem Port ungleich 80 gestartet (kann nicht direkt über die IP-Adresse aufgerufen werden) und Nginx konfiguriert einen Forward-Proxy, um den Domänennamen an den Domänennamen + Port weiterzuleiten. Ergebnis: Nach der Auflösung ist der direkte Zugriff über den eigenen Domänennamen möglich, der grundsätzlich auf die IP-Adresse + Port weitergeleitet wird. Für andere Domänennamen ist keine Portweiterleitung konfiguriert, deshalb werden sie blockiert. Es gibt viele Szenarien für die Verwendung von Nginx, wie z. B. Reverse-Proxy, Lastenausgleich usw., und die Verhinderung böswilliger Analyse ist nur eines davon. Vielleicht können wir in Zukunft unsere technischen Erfahrungen mit Nginx erweitern, aber Code ist nur ein Werkzeug. Technologie wird nur dann einen Mehrwert schaffen, wenn sie echte Probleme löst. Andernfalls ist sie nur Gerede auf dem Papier und bedeutungslos. Ich habe schon einmal einen Artikel gelesen, in dem zwei Entwickler über die Auswahl einer Technologie diskutierten. Einer von ihnen entschied sich für das unpopuläre Lua, und der andere war verwirrt, warum sie sich nicht für eine beliebte Technologie mit besserer Leistung und besserer Entwicklungserfahrung entschieden hatten. Ihre Antwort war jedoch: Solange es unser Problem lösen kann. Ich verfiel in tiefes Nachdenken. Außerdem verfolgte ich die Welle der Mikroservice-Architektur, die 2019 aufkam. Ich lernte viele neue Technologien und Begriffe und fühlte mich sehr erfüllt. Es ist jedoch schwierig, dies auf die tatsächliche Projektentwicklung anzuwenden. Hohe Parallelität und Mikrodienste sind entweder eine Technologie oder ein Kapital zum Angeben. Sie lösen praktische Probleme im Projekt oder Beschäftigungsprobleme. Es ist nichts falsch daran, zu lernen, aber bevor ich lerne, werde ich darüber nachdenken, ob ich das Gelernte anwenden werde oder ob es mich bindet. Das ist alles für jetzt. Hier sind einige allgemeine Befehle für Nginx unter Linux und die Konfigurationsdatei, die ich kopiert habe (nginx.conf). Liste der allgemeinen Befehle yum install nginx //Nginx installieren (CentOS) //Beim Booten automatisch starten systemctl enable nginx systemctl deaktiviert nginx //Überprüfen Sie den Nginx-Status systemctl status nginx //Starten, stoppen, neu starten systemctl start nginx systemctl stoppt nginx systemctl startet nginx neu //Konfiguration neu laden systemctl reload nginx //Der Standardspeicherort der Konfigurationsdatei /etc/nginx Hauptkonfigurationsdatei nginx.conf Verhindern Sie böswilliges Parsen der Konfiguration Server { hören Sie 80 Standardserver; Servername _; Zugriff_Abmeldung; Rückgabe 444; } # Weitere Informationen zur Konfiguration finden Sie unter: # * Offizielle englische Dokumentation: http://nginx.org/en/docs/ # * Offizielle russische Dokumentation: http://nginx.org/ru/docs/ Benutzer nginx; Arbeiterprozesse automatisch; Fehlerprotokoll /var/log/nginx/error.log; pid /run/nginx.pid; # Dynamische Module laden. Siehe /usr/share/doc/nginx/README.dynamic. schließen Sie /usr/share/nginx/modules/*.conf ein; Ereignisse { Arbeiterverbindungen 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; Zugriffsprotokoll /var/log/nginx/access.log Haupt; sendfile an; tcp_nopush ein; tcp_nodelay ein; KeepAlive-Timeout 65; Typen_Hash_max_Größe 2048; /etc/nginx/mime.types einschließen; Standardtyp Anwendung/Oktett-Stream; # Laden Sie modulare Konfigurationsdateien aus dem Verzeichnis /etc/nginx/conf.d. # Siehe http://nginx.org/en/docs/ngx_core_module.html#include # für weitere Informationen. schließen Sie /etc/nginx/conf.d/*.conf ein; Server { hören Sie 80 Standardserver; Servername _; Zugriff_Abmeldung; Rückgabe 444; } Server { hören Sie 80; Servername www.zkrun.top; Standort / { Proxy-Passwort http://www.zkrun.top:8080; } Fehlerseite 404 /404.html; Standort = /40x.html { } Fehlerseite 500 502 503 504 /50x.html; Standort = /50x.html { } } # Einstellungen für einen TLS-fähigen Server. # # Server { # abhören 443 ssl http2 Standardserver; # hören [::]:443 ssl http2 Standardserver; # Servername _; # root /usr/share/nginx/html; # # SSL-Zertifikat "/etc/pki/nginx/server.crt"; # ssl_certificate_key "/etc/pki/nginx/private/server.key"; # ssl_session_cache geteilt:SSL:1m; # SSL-Sitzungstimeout 10 m; # ssl_ciphers HOCH:!aNULL:!MD5; # ssl_prefer_server_ciphers ein; # # # Konfigurationsdateien für den Standardserverblock laden. # /etc/nginx/default.d/*.conf einschließen; # # Standort / { # } # # Fehlerseite 404 /404.html; # Standort = /40x.html { # } # # Fehlerseite 500 502 503 504 /50x.html; # Standort = /50x.html { # } # } } Zusammenfassen Dies ist das Ende dieses Artikels zur Verwendung von Nginx, um die böswillige Auflösung von IP-Adressen zu verhindern. Weitere Informationen zur Verwendung von Nginx, um die böswillige Auflösung von IP-Adressen zu verhindern, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
>>: Eine kurze Diskussion über die Lösung von Axios zum Entfernen doppelter Anfragen
Beginnen wir mit dem Körper: Wenn Sie eine Webseit...
Wirkung Die Bilder im Code können selbst geändert...
Betriebsumgebung: MAC Docker-Version: Docker vers...
Inhaltsverzeichnis 1. Gemeinsam genutztes CommonM...
Die Bildintegrationstechnologie, die von YAHOO in...
In diesem Artikelbeispiel wird der spezifische Co...
In diesem Artikel wird der spezifische Code von T...
In diesem Artikel wird der spezifische Code von j...
Kürzlich erhielt ich eine Anforderung für eine Fun...
MySQL 5.7 MySQL-Befehlszeilenclient mit Befehlen ...
Vorwort Dieser Artikel konzentriert sich auf die ...
eins. Warum einen privaten Nexus-Server erstellen...
Offizielle Version von MySQL v5.7.19 (32/64-Bit-I...
Inhaltsverzeichnis Was ist eine Zuordnung? Unters...
Wie kann die Seiten-Rendering-Zeit im Browser so ...