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.
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
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路径以及代理类型。
配置完成后,我们就可以启动NPM了。在终端中进入NPM的安装目录,然后运行如下命令:
sudo npm start
此时,NPM会监听在默认的80端口上,开始代理请求。
现在我们已经完成了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
按钮,填写如下信息:
点击 Save
按钮保存配置。
现在,我们可以使用任意支持Websockets的客户端连接到 ws://localhost/websocket
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 .http://localhost
. Sur l'interface, cliquez sur le bouton Ajouter un hôte proxy
et remplissez les informations suivantes : 🎜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!