Nginx-Reverse-Proxy-Websocket-Konfigurations-Tutorial zur Erzielung einer Echtzeitkommunikation
Websocket ist ein Protokoll, das auf langen Verbindungen basiert und eine Echtzeitkommunikation ermöglichen kann. In Kombination mit der Funktion des Nginx-Reverse-Proxys können Websocket-Anfragen besser verwaltet und verteilt werden. In diesem Artikel wird erläutert, wie Sie den Nginx-Reverse-Proxy konfigurieren, um die Websocket-Echtzeitkommunikation zu implementieren.
Bestätigen Sie, dass Nginx installiert ist.
Stellen Sie zunächst sicher, dass Nginx auf dem Server installiert ist. Wenn es nicht installiert ist, können Sie den folgenden Befehl verwenden, um es zu installieren:
sudo apt-get update sudo apt-get install nginx
Ändern Sie die Nginx-Konfigurationsdatei
Verwenden Sie einen Texteditor, um die Nginx-Konfigurationsdatei zu öffnen, die sich normalerweise unter/etc/nginx/nginx befindet .conf
oder/etc/nginx/conf.d/default.conf
. Ändern Sie es gemäß dem folgenden Beispiel:/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
。按照下面的示例进行修改:
server { listen 80; server_name yourdomain.com; location /websocket { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } }
在上述配置中,我们定义了一个名为websocket
的位置(location),并将请求代理到名为backend
的后端服务器。注意yourdomain.com
和backend
应该替换为你自己的域名和后端服务器地址。
此外,我们还设置了两个代理请求头 Upgrade 和 Connection,这是为了使 Nginx 能够正确处理 Websocket 连接。
重启 Nginx
完成配置文件的修改后,保存并退出文本编辑器。然后使用以下命令重启 Nginx:
sudo service nginx restart
yourdomain.com
const socket = new WebSocket('ws://yourdomain.com/websocket'); socket.onopen = () => { console.log('连接已建立'); }; socket.onmessage = (event) => { console.log('收到消息:', event.data); }; socket.onclose = () => { console.log('连接已关闭'); }; socket.onerror = (error) => { console.error('发生错误:', error); };
websocket
und leiten die Anfrage an einen Standort mit dem Namen
backend
Backend-Server weiter. Beachten Sie, dass
yourdomain.com
und
backend
durch Ihren eigenen Domänennamen und die Backend-Serveradresse ersetzt werden sollten.
Darüber hinaus legen wir auch zwei Proxy-Anfrageheader fest, Upgrade und Connection, damit Nginx Websocket-Verbindungen korrekt verarbeiten kann.
yourdomain.com
, verwenden Sie zum Testen den folgenden Code: rrreeeFügen Sie den obigen Code ein und führen Sie ihn in einer JavaScript-fähigen Umgebung aus, z. B. in der Entwicklertools-Konsole des Browsers oder Mit Node.js ausführen. Wenn Sie das Verbindungsprotokoll sehen können, funktionieren Ihre Nginx-Konfiguration und Ihr Websocket-Server ordnungsgemäß. ZusammenfassungDurch die Konfiguration des Nginx-Reverse-Proxys können wir Websocket-Anfragen an den Backend-Server weiterleiten, um Echtzeit-Kommunikationsfunktionen zu erreichen. In diesem Artikel wird erläutert, wie Sie Nginx konfigurieren und anschließend JavaScript-Code zum Testen von Websocket-Verbindungen verwenden. Ich hoffe, dass dieser Artikel Ihnen hilft, den Nginx-Reverse-Proxy-Websocket zu verstehen und anzuwenden.
Das obige ist der detaillierte Inhalt vonTutorial zur Nginx-Reverse-Proxy-Websocket-Konfiguration, um Echtzeitkommunikation zu erreichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!