Rumah >Operasi dan penyelenggaraan >Nginx >Bagaimana untuk melaksanakan proksi Websockets menggunakan Pengurus Proksi Nginx

Bagaimana untuk melaksanakan proksi Websockets menggunakan Pengurus Proksi Nginx

WBOY
WBOYasal
2023-09-27 13:46:491494semak imbas

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

Cara menggunakan Pengurus Proksi Nginx untuk melaksanakan proksi Websockets

Websockets ialah protokol komunikasi masa nyata yang sesuai untuk aplikasi yang memerlukan dua hala komunikasi. Pengurus Proksi Nginx (pendek kata NPM) ialah pelayan proksi berasaskan Nginx yang boleh digunakan untuk mengurus dan mengkonfigurasi berbilang sumber proksi terbalik. Artikel ini akan memperkenalkan cara menggunakan NPM untuk melaksanakan proksi Websockets dan memberikan contoh kod khusus.

  1. Pasang NPM

Pertama, kita perlu memasang NPM. Pada sistem Ubuntu, anda boleh memasangnya dengan arahan berikut:

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

Selepas memasang NPM, kita perlu melakukan beberapa konfigurasi . Mula-mula, masukkan direktori pemasangan NPM, biasanya /usr/share/nginx/html, dan kemudian buat fail bernama config.json untuk mengkonfigurasi pelayan proksi. /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

Dalam fail config.json, kami boleh mengkonfigurasi berbilang pelayan proksi. Dalam contoh ini, kami mengkonfigurasi pelayan proksi bernama websocket untuk memproksi semua permintaan Websockets yang diterima ke pelayan sasaran yang ditentukan.

Berikut ialah contoh konfigurasi:

rrreee

Dalam konfigurasi di atas, kami menyatakan nama pelayan proksi, sama ada untuk menggunakan SSL, hos dan port pelayan sasaran, laluan URL dan jenis Ejen.

    Mulakan NPM#🎜🎜##🎜🎜##🎜🎜#Setelah konfigurasi selesai, kita boleh memulakan NPM. Masukkan direktori pemasangan NPM dalam terminal, dan kemudian jalankan arahan berikut: #🎜🎜#rrreee#🎜🎜#Pada masa ini, NPM akan mendengar pada port lalai 80 dan memulakan permintaan proksi. #🎜🎜#
      #🎜🎜#Uji proksi Websockets#🎜🎜##🎜🎜##🎜🎜#Sekarang kami telah melengkapkan konfigurasi dan permulaan NPM, mari uji proksi Websockets kami sama ada ia berfungsi dengan baik. #🎜🎜##🎜🎜#Pertama, sediakan pelayan Websockets mudah, yang boleh dibina menggunakan Node.js. Berikut ialah contoh kod: #🎜🎜#rrreee#🎜🎜#Jalankan kod di atas dalam terminal untuk memulakan pelayan Websockets. #🎜🎜##🎜🎜#Seterusnya, akses antara muka pengurusan NPM dalam penyemak imbas, biasanya http://localhost. Pada antara muka, klik butang Tambah Hos Proksi dan isikan maklumat berikut: #🎜🎜#
        #🎜🎜#Nama Hos Proksi: localhost#🎜🎜##🎜🎜#Port Proksi: 80#🎜 🎜##🎜🎜#Proksi Protokol: http#🎜🎜##🎜🎜#Jenis Proksi: websocket#🎜🎜##🎜🎜#Destinasi Proksi: localhost:8000#🎜🎜🎜🎜🎜 Butang #KlikSimpan menyimpan konfigurasi. #🎜🎜##🎜🎜#Kini, kami boleh menggunakan mana-mana pelanggan yang menyokong Websockets untuk menyambung ke ws://localhost/websocket, menghantar mesej dan menerima respons daripada pelayan. #🎜🎜##🎜🎜#Melalui pelayan proksi NPM, kami berjaya melaksanakan fungsi proksi Websockets. #🎜🎜##🎜🎜#Ringkasan#🎜🎜##🎜🎜#Artikel ini memperkenalkan cara menggunakan Pengurus Proksi Nginx untuk melaksanakan fungsi proksi Websockets. Dengan mengkonfigurasi NPM dan menggunakan contoh kod khusus, kami berjaya membina pelayan proksi yang boleh memproksi permintaan Websockets. Saya harap artikel ini akan membantu anda memahami dan menggunakan proksi NPM dan Websockets. #🎜🎜#

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan proksi Websockets menggunakan Pengurus Proksi Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn