Maison  >  Article  >  Opération et maintenance  >  Comment implémenter le proxy Websockets à l'aide de Nginx Proxy Manager

Comment implémenter le proxy Websockets à l'aide de Nginx Proxy Manager

WBOY
WBOYoriginal
2023-09-27 13:46:491461parcourir

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

Comment implémenter le proxy Websockets à l'aide de Nginx Proxy Manager

Websockets est un protocole de communication en temps réel adapté aux applications nécessitant une communication bidirectionnelle. Le Nginx Proxy Manager (NPM en abrégé) est un serveur proxy basé sur Nginx qui peut être utilisé pour gérer et configurer plusieurs ressources de proxy inverse. Cet article explique comment utiliser NPM pour implémenter le proxy Websockets et fournit des exemples de code spécifiques.

  1. Installer NPM

Tout d'abord, nous devons installer NPM. Sur les systèmes Ubuntu, vous pouvez l'installer avec la commande suivante :

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

Après avoir installé NPM, nous devons effectuer une configuration. Tout d'abord, entrez dans le répertoire d'installation de NPM, généralement /usr/share/nginx/html, puis créez un fichier nommé config.json pour configurer le serveur proxy. /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

Dans le fichier config.json, nous pouvons configurer plusieurs serveurs proxy. Dans cet exemple, nous configurons un serveur proxy nommé websocket pour transmettre par proxy toutes les requêtes Websockets reçues au serveur cible spécifié.

Ce qui suit est un exemple de configuration :

rrreee

Dans la configuration ci-dessus, nous spécifions le nom du serveur proxy, s'il faut utiliser SSL, l'hôte et le port du serveur cible, le chemin de l'URL et le type de proxy .

    Démarrer NPM🎜🎜🎜Une fois la configuration terminée, nous pouvons démarrer NPM. Entrez le répertoire d'installation de NPM dans le terminal, puis exécutez la commande suivante : 🎜rrreee🎜À ce moment, NPM écoutera sur le port par défaut 80 et lancera les requêtes de proxy. 🎜
      🎜Tester le proxy Websockets🎜🎜🎜Maintenant que nous avons terminé la configuration et le démarrage de NPM, testons si notre proxy Websockets fonctionne correctement. 🎜🎜Tout d'abord, préparez un serveur Websockets simple, qui peut être construit à l'aide de Node.js. Voici un exemple de code : 🎜rrreee🎜Exécutez le code ci-dessus dans le terminal pour démarrer le serveur Websockets. 🎜🎜Ensuite, accédez à l'interface de gestion de NPM dans le navigateur, généralement http://localhost. Sur l'interface, cliquez sur le bouton Ajouter un hôte proxy et remplissez les informations suivantes : 🎜
    🎜Nom d'hôte proxy : localhost🎜🎜Port proxy : 80🎜🎜Protocole proxy : http🎜🎜Type de proxy : websocket🎜🎜 Destination du proxy : localhost:8000🎜
🎜Cliquez sur le bouton Enregistrer pour enregistrer la configuration. 🎜🎜Maintenant, nous pouvons utiliser n'importe quel client prenant en charge Websockets pour nous connecter à ws://localhost/websocket, envoyer des messages et recevoir des réponses du serveur. 🎜🎜Grâce au serveur proxy NPM, nous avons implémenté avec succès la fonction proxy de Websockets. 🎜🎜Résumé🎜🎜Cet article explique comment utiliser Nginx Proxy Manager pour implémenter la fonction proxy de Websockets. En configurant NPM et en utilisant des exemples de code spécifiques, nous avons réussi à créer un serveur proxy capable de proxy les requêtes Websockets. J'espère que cet article vous aidera à comprendre et à utiliser le proxy NPM et Websockets. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn