Konfigurasi WebSocket proksi terbalik Nginx untuk mencapai komunikasi masa nyata

WBOY
Lepaskan: 2023-07-04 17:37:36
asal
2877 orang telah melayarinya

Konfigurasi WebSocket proksi terbalik Nginx untuk mencapai komunikasi masa nyata

WebSocket ialah protokol rangkaian yang menyokong komunikasi dupleks penuh Ia boleh mewujudkan sambungan berterusan antara pelanggan dan pelayan untuk mencapai komunikasi masa nyata. Nginx ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik Melalui konfigurasi proksi terbalik Nginx, anda boleh memproksi permintaan WebSocket ke pelayan bahagian belakang, dengan itu merealisasikan fungsi komunikasi masa nyata WebSocket.

Berikut ialah contoh tentang cara mengkonfigurasi proksi terbalik Nginx WebSocket:

  1. Pasang Nginx
    Mula-mula, kita perlu memasang Nginx pada pelayan. Anda boleh menggunakan alat pengurusan pakej (seperti apt, yum, dll.) untuk memasang. Selepas pemasangan selesai, anda boleh menyemak versi Nginx yang dipasang dengan menjalankan arahan "nginx -v".
  2. Konfigurasikan Nginx
    Konfigurasikan proksi terbalik Nginx supaya ia boleh memajukan permintaan WebSocket ke pelayan bahagian belakang. Buka fail konfigurasi Nginx, biasanya terletak di bawah laluan "/etc/nginx/nginx.conf" atau "/etc/nginx/conf.d/default.conf", dan tambahkan konfigurasi berikut:
server {
    listen 80;
    server_name your_server_domain;

    location / {
        proxy_pass http://your_backend_server;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
Salin selepas log masuk

Antaranya, your_server_domain ialah nama Domain atau alamat IP pelayan, your_backend_server ialah alamat dan port pelayan backend.

  1. Mulakan semula Nginx
    Selepas melengkapkan konfigurasi, anda perlu memulakan semula pelayan Nginx untuk konfigurasi berkuat kuasa. Nginx boleh dimulakan semula menggunakan arahan berikut:
sudo service nginx restart
Salin selepas log masuk
  1. Backend Server
    Pada pelayan backend, anda perlu menulis kod yang boleh mengendalikan permintaan WebSocket. Di sini kami mengambil Node.js sebagai contoh untuk mencipta pelayan WebSocket yang mudah:
const WebSocket = require('ws');

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

wss.on('connection', ws => {
    console.log('New client connected');

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

    ws.on('close', () => {
        console.log('Client disconnected');
    });
});
Salin selepas log masuk

Kod di atas mencipta pelayan WebSocket, mencetak log apabila setiap pelanggan baharu menyambung dan mencetak apabila sambungan diterima dan masing-masing ditutup .

  1. Menguji
    Kini, kami boleh menggunakan alat klien WebSocket (seperti alat pembangun penyemak imbas, Posman, dll.) untuk menguji fungsi komunikasi masa nyata WebSocket. Dengan menghantar permintaan WebSocket ke pelayan Nginx, Nginx memajukan permintaan itu ke pelayan belakang untuk diproses.

Melalui langkah di atas, kami berjaya mengkonfigurasi proksi terbalik Nginx dan melaksanakan fungsi komunikasi masa nyata WebSocket.

Ringkasan: Konfigurasi WebSocket proksi terbalik Nginx boleh memproksi permintaan WebSocket ke pelayan bahagian belakang, menjadikan komunikasi masa nyata mungkin. Melalui langkah di atas, kami boleh mengkonfigurasi Nginx dengan mudah untuk menyokong WebSocket dan menulis kod pada pelayan bahagian belakang untuk mengendalikan permintaan WebSocket. Dengan cara ini, kita boleh menggunakan prestasi tinggi dan kestabilan Nginx untuk mencapai fungsi komunikasi masa nyata.

Atas ialah kandungan terperinci Konfigurasi WebSocket proksi terbalik Nginx untuk mencapai komunikasi masa nyata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan