Bagaimana untuk menyelesaikan masalah pelaporan ralat sockjs-node

藏色散人
Lepaskan: 2021-12-08 11:18:31
asal
5676 orang telah melayarinya

Penyelesaian kepada ralat yang dilaporkan oleh sockjs-node: 1. Konfigurasikan port 9097 pada nginx 2. Biarkan "/sockjs-node" diproksikan dengan betul ke port sebenar mesin.

Bagaimana untuk menyelesaikan masalah pelaporan ralat sockjs-node

Persekitaran pengendalian artikel ini: sistem Windows 7, nodejs versi 10.16.2, komputer Dell G3.

Bagaimana untuk menyelesaikan masalah pelaporan ralat sockjs-node?

sockjs-nod penyelesaian ralat antara muka

Latar Belakang projek

Apabila saya mengambil alih projek sudut orang lain (vue.js juga mungkin menghadapi masalah ini), nginx telah dikonfigurasikan pada bahagian hadapan silang domain Selepas projek dimulakan, latar belakang ws melaporkan ralat, seperti yang ditunjukkan dalam rajah di bawah:
Bagaimana untuk menyelesaikan masalah pelaporan ralat sockjs-node

Lokasi masalah:

Saya mencari dalam talian untuk punca ralat dan mendapati sockjs-node ialah antara muka pemuatan panas nodejs digunakan untuk pelayar dan komunikasi setempat Pada masa ini, fungsi pemuatan panas gagal. Oleh itu, sebab ralat ialah: antara muka komunikasi ini mengakses port 9097 proksi nginx dan bukannya port 8082 di mana perkhidmatan sebenar dimulakan, jadi komunikasi tidak dapat dijalankan.

Penyelesaian:

Konfigurasikan port 9097 ini pada nginx supaya /sockjs-node biasanya boleh proksi ke port sebenar mesin, dengan itu menyelesaikan masalah.
Langkah khusus:
Tambah konfigurasi nginx dalam nginx

http {
    include       mime.types;
    default_type  application/octet-stream;
    map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
  }
 server {
        listen 9097;
        server_name localhost;

	location /sockjs-node {
            proxy_pass http://0.0.0.0:8082;
	    proxy_set_header Upgrade $http_upgrade;
	    proxy_set_header Connection $connection_upgrade;
        }
    }
Salin selepas log masuk

Nota: Perkara yang paling penting mengenai perkara di atas ialah menambah dua baris berikut pada konfigurasi proksi terbalik , bahagian lain tidak berbeza daripada proksi terbalik HTTP biasa.
roxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
Bahagian utama di sini ialah permintaan HTTP mempunyai pengepala berikut:
Naik taraf: websocket
Sambungan: Naik taraf
Kedua-dua ini medan menunjukkan bahawa pelayan diminta untuk menaik taraf protokol kepada WebSocket.

Kesimpulan

Dalam situasi sebenar, mungkin terdapat banyak sebab untuk pelaporan ralat /sockjs-node, termasuk proksi shadowsock, konfigurasi nodejs, dll. Selagi anda memahami sifat masalah dan benar benarkan ws untuk mengakses tempatan sebenar Alamatnya sudah memadai.

Pembelajaran yang disyorkan: "tutorial video nodejs"

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah pelaporan ralat sockjs-node. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!