Vorne geschriebenIm heutigen Internetbereich ist Nginx einer der am häufigsten verwendeten Proxyserver. Viele große Unternehmen verwenden Nginx als Proxyserver in ihren Geschäftssystemen. Daher müssen wir die Konfigurationen von Nginx für Http, Https, WS und WSS verstehen. Komm, komm, lerne Nginx mit Binghe, mache gemeinsam Fortschritte und werde gemeinsam kahl ~~ Nginx-Konfiguration HttpLassen Sie uns zunächst darüber sprechen, wie Sie HTTP in Nginx konfigurieren. Die Konfiguration von HTTP in Nginx ist eine der am häufigsten verwendeten Funktionen von Nginx. Konfigurieren Sie die entsprechenden Informationen in nginx.conf wie unten gezeigt. Upstream-Nachricht { Server lokaler Host:8080 max_fails=3; } Server { hören Sie 80; Servername localhost; Standort / { Stamm-HTML; Index Index.html Index.htm; #CROS-Domänenübergreifenden Zugriff zulassen add_header 'Access-Control-Allow-Origin' '*'; #proxy_redirect Standard; #Das Timeout für die Verbindung zum Proxy-Server. Bitte beachten Sie, dass dieses Timeout 75 Sekunden nicht überschreiten darf. Bei einem Serverausfall wird nach 10 Sekunden auf einen anderen Server umgeleitet. Proxy_Verbindungstimeout 10; } Standort /Nachricht { Proxy-Passwort http://Nachricht; Proxy_set_header Host $host:$server_port; } } An diesem Punkt wird der Zugriff auf http://localhost/message an http://localhost:8080/message weitergeleitet. Nginx-Konfiguration HttpsWenn das Unternehmen hohe Sicherheitsanforderungen an die Website stellt, können Sie Https in Nginx konfigurieren. Die spezifischen Konfigurationsinformationen finden Sie wie folgt. Upstream-Nachricht { Server lokaler Host:8080 max_fails=3; } Server { hören Sie 443 SSL; Servername localhost; SSL-Zertifikat /usr/local/nginx-1.17.8/conf/keys/binghe.pem; SSL-Zertifikatsschlüssel /usr/local/nginx-1.17.8/conf/keys/binghe.key; SSL-Sitzungszeitüberschreitung 20 Min. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HOCH:!NULL:!aNULL:!MD5:!ADH:!RC4; SSL-Protokolle TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers ein; ssl_verify_client aus; Standort / { Stamm-HTML; Index Index.html Index.htm; #CROS-Domänenübergreifenden Zugriff zulassen add_header 'Access-Control-Allow-Origin' '*'; #Das Timeout für die Verbindung zum Proxy-Server. Bitte beachten Sie, dass dieses Timeout 75 Sekunden nicht überschreiten darf. Bei einem Serverausfall wird nach 10 Sekunden auf einen anderen Server umgeleitet. Proxy_Verbindungstimeout 10; } Standort /Nachricht { Proxy-Passwort http://Nachricht; Proxy_set_header Host $host:$server_port; } } Zu diesem Zeitpunkt wird der Zugriff auf https://localhost/message an http://localhost:8080/message weitergeleitet. Nginx-Konfiguration WSDer vollständige Name von WS lautet WebSocket. Es ist auch relativ einfach, WebSocket in Nginx zu konfigurieren. Sie müssen nur entsprechende Konfigurationen in der Datei nginx.conf vornehmen. Diese Methode ist einfach, aber effektiv und kann die Servicefunktionen des WebSocket-Servers horizontal skalieren. Um meinen Freunden ein besseres Verständnis zu ermöglichen, werde ich mich hier auf die Nginx-Konfiguration WS konzentrieren. Zeigen Sie zunächst die Konfigurationsdatei direkt an, wie unten gezeigt (wenn Sie sie verwenden, kopieren Sie sie einfach und ändern Sie IP und Port). Karte $http_upgrade $connection_upgrade { Standard-Upgrade; '' schließen; } Upstream wsbackend{ Server-IP1:Port1; Server-IP2:Port2; Keepalive 1000; } Server { hören Sie 20038; Standort /{ Proxy_http_Version 1.1; Proxy-Passwort http://wsbackend; Proxy_Redirect aus; Proxy_Set_Header Host $host; Proxy_Set_Header X-Real-IP $Remote_Addr; Proxy_Lese_Timeout 3600 s; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; Proxy_Set_Header-Upgrade $http_upgrade; proxy_set_header Verbindung $connection_upgrade; } } Als nächstes werden wir die spezifischen Bedeutungen der oben genannten Konfigurationen analysieren. Erste: Karte $http_upgrade $connection_upgrade { Standard-Upgrade; '' schließen; } Es bedeutet:
Zweitens: Upstream wsbackend{ Server-IP1:Port1; Server-IP2:Port2; Keepalive 1000; } Es stellt den Lastenausgleich von Nginx dar: Zwei Server (ip1:port1) und (ip2:port2). Keepalive 1000 gibt die Leerlaufverbindungen an, die vom Upstream-Server in jedem Nginx-Prozess aufrechterhalten werden. Wenn zu viele Leerlaufverbindungen vorhanden sind, wird die am wenigsten genutzte Leerlaufverbindung geschlossen. Dies begrenzt natürlich nicht die Gesamtzahl der Verbindungen. Man kann es sich als die Größe des Leerlaufverbindungspools vorstellen. Der eingestellte Wert sollte dem entsprechen, was der Upstream-Server aushalten kann. endlich: Server { hören Sie 20038; Standort /{ Proxy_http_Version 1.1; Proxy-Passwort http://wsbackend; Proxy_Redirect aus; Proxy_Set_Header Host $host; Proxy_Set_Header X-Real-IP $Remote_Addr; Proxy_Lese_Timeout 3600 s; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; Proxy_Set_Header-Upgrade $http_upgrade; proxy_set_header Verbindung $connection_upgrade; } } Stellt die Konfiguration des Listening-Servers dar
An diesem Punkt wird der Zugriff auf ws://localhost:20038 an ip1:port1 und ip2:port2 weitergeleitet. Nginx-Konfiguration WSSWSS steht für WebSocket + Https, also ein sicheres WebSocket. Als Nächstes sehen wir uns an, wie WSS konfiguriert wird. Bei der Konfiguration von WS werden die Konfigurationsdetails ausführlich beschrieben. Ich werde hier nicht näher darauf eingehen. Karte $http_upgrade $connection_upgrade { Standard-Upgrade; '' schließen; } Upstream wsbackend{ Server-IP1:Port1; Server-IP2:Port2; Keepalive 1000; } Server{ hören Sie 20038 SSL; Servername localhost; SSL-Zertifikat /usr/local/nginx-1.17.8/conf/keys/binghe.com.pem; SSL-Zertifikatsschlüssel /usr/local/nginx-1.17.8/conf/keys/binghe.com.key; SSL-Sitzungszeitüberschreitung 20 Min. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HOCH:!NULL:!aNULL:!MD5:!ADH:!RC4; SSL-Protokolle TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers ein; ssl_verify_client aus; Standort /{ Proxy_http_Version 1.1; Proxy-Passwort http://wsbackend; Proxy_Redirect aus; Proxy_Set_Header Host $host; Proxy_Set_Header X-Real-IP $Remote_Addr; Proxy_Lese_Timeout 3600 s; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; Proxy_Set_Header-Upgrade $http_upgrade; proxy_set_header Verbindung $connection_upgrade; } } An diesem Punkt wird der Zugriff auf wss://localhost:20038 an ip1:port1 und ip2:port2 weitergeleitet. Damit ist dieser Artikel zur Konfiguration von Http, Https, WS und WSS mit Nginx abgeschlossen. Weitere Informationen zur Konfiguration von Http, Https, WS und WSS mit Nginx 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:
|
<<: Beispiele für die Verwendung der Operatoren && und || in JavaScript
>>: Drei Strategien zum Umschreiben von MySQL-Abfrageanweisungen
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Vorwort Installation und Konfi...
Inhaltsverzeichnis 1. Einleitung 2. Nutzung 3. En...
Einführung Im vorherigen Artikel haben wir Redis ...
Kürzlich wurde auf Unternehmensseite gemeldet, da...
Vorwort Bei der täglichen Entwicklung müssen wir ...
Inhaltsverzeichnis uni-app Einführung HTML-Teil j...
React Native ist ein plattformübergreifendes Fram...
Die Anzeige von Daten ist seit jeher eine Forderu...
Vorwort: Eines Tages baute ich einen MySQL-Dienst...
Inhaltsverzeichnis Vorne geschrieben router.json ...
Der spezifische Code für JavaScript zur Implement...
Effektbild: html: <div class='site_bar'...
Ich bin erst vor kurzem mit countly in Kontakt ge...