Heim >Betrieb und Instandhaltung >Nginx >So implementieren Sie den Websockets-Proxy mit Nginx Proxy Manager

So implementieren Sie den Websockets-Proxy mit Nginx Proxy Manager

WBOY
WBOYOriginal
2023-09-27 13:46:491496Durchsuche

如何使用Nginx Proxy Manager实现Websockets代理

So implementieren Sie den Websockets-Proxy mit Nginx Proxy Manager

Websockets ist ein Echtzeit-Kommunikationsprotokoll, das für Anwendungen geeignet ist, die eine bidirektionale Kommunikation erfordern. Der Nginx Proxy Manager (kurz NPM) ist ein Nginx-basierter Proxyserver, mit dem mehrere Reverse-Proxy-Ressourcen verwaltet und konfiguriert werden können. In diesem Artikel wird erläutert, wie Sie NPM zum Implementieren des Websockets-Proxys verwenden, und es werden spezifische Codebeispiele bereitgestellt.

  1. NPM installieren

Zuerst müssen wir NPM installieren. Auf Ubuntu-Systemen können Sie es mit dem folgenden Befehl installieren:

sudo apt-get update
sudo apt-get install npm
  1. NPM konfigurieren

Nach der Installation von NPM müssen wir einige Konfigurationen vornehmen. Geben Sie zunächst das NPM-Installationsverzeichnis ein, normalerweise /usr/share/nginx/html, und erstellen Sie dann eine Datei mit dem Namen config.json, um den Proxyserver zu konfigurieren. /usr/share/nginx/html,然后创建一个名为 config.json的文件,用来配置代理服务器。

config.json 文件中,我们可以配置多个代理服务器。在这个例子中,我们配置一个名为 websocket 的代理服务器,将所有接收到的Websockets请求代理到指定的目标服务器。

下面是一个配置的例子:

{
  "proxies": {
    "websocket": {
      "name": "Websockets Proxy",
      "ssl": false,
      "host": "ws://localhost:8000",
      "port": 80,
      "path": "/websocket",
      "proxyType": "websocket"
    }
  }
}

上述配置中,我们指定了代理服务器的名称、是否使用SSL、目标服务器的主机和端口、URL路径以及代理类型。

  1. 启动NPM

配置完成后,我们就可以启动NPM了。在终端中进入NPM的安装目录,然后运行如下命令:

sudo npm start

此时,NPM会监听在默认的80端口上,开始代理请求。

  1. 测试Websockets代理

现在我们已经完成了NPM的配置和启动,接下来测试一下我们的Websockets代理是否正常工作。

首先,准备一个简单的Websockets服务器,可以使用Node.js进行搭建。下面是一个示例代码:

const WebSocket = require('ws');

const wss = new WebSocket.Server({ port: 8000 });

wss.on('connection', ws => {
  ws.on('message', message => {
    console.log(`Received message: ${message}`);
    ws.send(`Echo: ${message}`);
  });

  ws.send('Connected to server.');
});

在终端中运行上述代码,启动Websockets服务器。

接下来,在浏览器中访问NPM的管理界面,通常是 http://localhost。在界面上,点击 Add Proxy Host 按钮,填写如下信息:

  • Proxy Hostname: localhost
  • Proxy Port: 80
  • Proxy Protocol: http
  • Proxy Type: websocket
  • Proxy Destination: localhost:8000

点击 Save 按钮保存配置。

现在,我们可以使用任意支持Websockets的客户端连接到 ws://localhost/websocket

In der Datei config.json können wir mehrere Proxyserver konfigurieren. In diesem Beispiel konfigurieren wir einen Proxyserver mit dem Namen websocket, um alle empfangenen Websockets-Anfragen an den angegebenen Zielserver weiterzuleiten.

Das Folgende ist ein Beispiel für eine Konfiguration:

rrreee

In der obigen Konfiguration geben wir den Namen des Proxyservers an, ob SSL verwendet werden soll, den Host und Port des Zielservers, den URL-Pfad und den Proxytyp .

    NPM starten🎜🎜🎜Nachdem die Konfiguration abgeschlossen ist, können wir NPM starten. Geben Sie das NPM-Installationsverzeichnis im Terminal ein und führen Sie dann den folgenden Befehl aus: 🎜rrreee🎜Zu diesem Zeitpunkt überwacht NPM den Standardport 80 und beginnt mit der Weiterleitung von Anfragen. 🎜
      🎜Testen des Websockets-Proxys🎜🎜🎜Da wir nun die Konfiguration und den Start von NPM abgeschlossen haben, testen wir, ob unser Websockets-Proxy ordnungsgemäß funktioniert. 🎜🎜Bereiten Sie zunächst einen einfachen Websockets-Server vor, der mit Node.js erstellt werden kann. Hier ist ein Beispielcode: 🎜rrreee🎜Führen Sie den obigen Code im Terminal aus, um den Websockets-Server zu starten. 🎜🎜Als nächstes greifen Sie im Browser auf die Verwaltungsoberfläche von NPM zu, normalerweise http://localhost. Klicken Sie auf der Benutzeroberfläche auf die Schaltfläche Proxy-Host hinzufügen und geben Sie die folgenden Informationen ein: 🎜
    🎜Proxy-Hostname: localhost🎜🎜Proxy-Port: 80🎜🎜Proxy-Protokoll: http🎜🎜Proxy-Typ: websocket🎜🎜 Proxy-Ziel: localhost:8000🎜
🎜Klicken Sie auf die Schaltfläche Speichern, um die Konfiguration zu speichern. 🎜🎜Jetzt können wir jeden Client verwenden, der Websockets unterstützt, um eine Verbindung zu ws://localhost/websocket herzustellen, Nachrichten zu senden und Antworten vom Server zu empfangen. 🎜🎜Über den NPM-Proxyserver haben wir die Proxy-Funktion von Websockets erfolgreich implementiert. 🎜🎜Zusammenfassung🎜🎜In diesem Artikel wird erläutert, wie Sie mit Nginx Proxy Manager die Proxy-Funktion von Websockets implementieren. Durch die Konfiguration von NPM und die Verwendung spezifischer Codebeispiele haben wir erfolgreich einen Proxyserver erstellt, der Websockets-Anfragen weiterleiten kann. Ich hoffe, dass dieser Artikel Ihnen hilft, NPM und Websockets-Proxy zu verstehen und zu verwenden. 🎜

Das obige ist der detaillierte Inhalt vonSo implementieren Sie den Websockets-Proxy mit Nginx Proxy Manager. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn