具體措施:
在nginx中增加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; } }
注:以上內(nèi)容最重要的就是在反向代理的配置中增加了如下兩行,其它的部分和普通的HTTP反向代理沒(méi)有任何差別。 roxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; 這里面的關(guān)鍵部分在于HTTP的請(qǐng)求中多了如下頭部: Upgrade: websocket Connection: Upgrade 這兩個(gè)字段表示請(qǐng)求服務(wù)器升級(jí)協(xié)議為WebSocket。
結(jié)語(yǔ)
實(shí)際情況中,/sockjs-node報(bào)錯(cuò)原因可能有很多,還可能是shadowsock代理、nodejs配置等,只要了解問(wèn)題本質(zhì),正確的讓ws訪問(wèn)到本地實(shí)際的地址即可。
推薦學(xué)習(xí):《nodejs視頻教程》
更多關(guān)于云服務(wù)器,域名注冊(cè),虛擬主機(jī)的問(wèn)題,請(qǐng)?jiān)L問(wèn)西部數(shù)碼官網(wǎng):m.ps-sw.cn