Aktueller Standort: Startseite> Neueste Artikel> Detaillierte Erläuterung der NGINX-Konfiguration WebSocket Proxy: Echtzeit-Kommunikationsunterstützung

Detaillierte Erläuterung der NGINX-Konfiguration WebSocket Proxy: Echtzeit-Kommunikationsunterstützung

M66 2025-07-09

Was ist das WebSocket -Protokoll?

WebSocket ist ein TCP-basiertes Full-Duplex-Kommunikationsprotokoll, mit dem anhaltende Verbindungen zwischen Clients und Servern eine Zwei-Wege-Übertragung von Echtzeitdaten erreicht werden können. Im Vergleich zu herkömmlichen HTTP-Umfragen weist WebSocket eine höhere Effizienz und eine geringere Latenz in Szenarien wie sofortiger Kommunikation und Echtzeit-Push auf.

Warum NGINX zum Proxy Websocket verwenden?

In der tatsächlichen Bereitstellung müssen wir häufig Nginx als Front-End-Proxy-Server verwenden, um Lastausgleich, sichere Zugriffskontrolle, Pfadweiterung und andere Funktionen zu verarbeiten. Um das WebSocket -Protokoll zu unterstützen, ist eine zusätzliche Konfiguration von NGINX erforderlich, um sicherzustellen, dass die Verbindung stabil und kontinuierlich an den Backend -Service geliefert werden kann.

Installieren Sie Nginx

Stellen Sie zunächst sicher, dass NGINX auf Ihrem Server installiert ist. Es kann über das Paketmanagement -Tool installiert werden:

sudo apt install nginx # debian/ubuntu System sudo yum install nginx # centos System

Nach Abschluss der Installation können Sie Nginx -v verwenden, um die Version anzuzeigen, um sicherzustellen, dass die Installation erfolgreich ist.

Konfigurieren Sie NGINX, um WebSocket zu unterstützen

Anschließend müssen Sie die Nginx-Konfigurationsdatei ändern, normalerweise die Konfigurationsdatei in /etc/nginx/nginx.conf oder eine Site-fähige .

Konfigurieren Sie Karte und stromaufwärts

Karte $ http_upgrade $ connection_upgrade {
    Standard -Upgrade;
    '' schließen;
}

Upstream Backend {
    Server 127.0.0.1:8080;
}

Ziel dieser Konfiguration ist es, eine Zuordnung für den Upgrade -Header der WebSocket -Verbindung einzurichten und die Adresse der Backend -Anwendung anzugeben.

Konfigurieren Sie den Speicherort im Serverblock

Ort /Websocket {
    proxy_pass http: // Backend;
    proxy_http_version 1.1;
    proxy_set_header upgrade $ http_upgrade;
    proxy_set_header Verbindung $ connection_upgrade;
}

Diese Konfiguration leitet Anfragen zum Zugriff auf den /Websocket -Pfad zum Backend weiter und trägt die erforderlichen Header -Informationen, damit der WebSocket -Handshake -Prozess reibungslos abgeschlossen werden kann.

Starten Sie Nginx neu, damit die Konfiguration wirksam wird

Führen Sie nach Abschluss der Konfiguration den folgenden Befehl aus, um den Nginx -Dienst neu zu starten:

sudo service nginx neu starten

Wenn die Konfiguration korrekt ist, unterstützt NGINX die Weiterleitung von WebSocket -Verbindungen.

Testen von Websocket -Verbindung

Sie können testen, ob das WebSocket erfolgreich über einen Browser oder ein anderes Client -Tool verbunden ist. Hier ist ein grundlegendes JavaScript -Beispiel:

var ws = new WebSocket ("ws: // your_domain/webocket");

ws.onopen = function () {
    console.log ("mit WebSocket verbunden");
};

Ws.onMessage = Funktion (Ereignis) {
    console.log ("empfangene Nachricht:" + event.data);
};

ws.onclose = function () {
    console.log ("von Websocket getrennt");
};

Einbetten Sie den obigen Code in HTML ein und beachten Sie nach dem Öffnen im Browser, ob die Konsole den Verbindungsstatus anzeigen kann.

Zusammenfassen

Durch die Konfiguration von NGINX-Proxy WebSocket können wir einen hohen Leistungsunterstützung in Echtzeit-Kommunikation erreichen. Nginx selbst handelt nicht mit WebSocket-Logik und ist nur für die Weiterleitung von Verbindungen und die Verarbeitung von Protokoll-Headern verantwortlich. Das Backend muss noch über WebSocket -Servicefunktionen verfügen. Bei der Bereitstellung moderner Webanwendungen ist die Kombination von NGINX-Proxy-Funktionen und Back-End-Websocket-Diensten eine ideale Wahl für die Interaktion mit Daten in Echtzeit.