摘要:覺得很容易用到從開始支持現(xiàn)在已經(jīng)是了相對看過例子發(fā)現(xiàn)配置其實(shí)比較簡單先用模塊寫一個簡單的服務(wù)器然后修改添加比如指向然后是配置然后從瀏覽器控制臺嘗試鏈接或者通過的寫法先是通過建立連接然后通過狀態(tài)碼表示切換協(xié)議在配置里是不清楚具體里邊發(fā)生了什
覺得很容易用到.. Nginx 從 1.3 開始支持 WebSocket, 現(xiàn)在已經(jīng)是 1.4.4 了
相對 HTTP, 看過例子發(fā)現(xiàn)配置其實(shí)比較簡單,
先用 ws 模塊寫一個簡單的 WebSocket 服務(wù)器:
Server = require("ws").Server wss = new Server port: 3000 wss.on "connection", (ws) -> console.log "a connection" ws.send "started" console.log "server started"
然后修改 Hosts, 添加, 比如 ws.repo, 指向 127.0.0.1
然后是 Nginx 配置:
server { listen 80; server_name ws.repo; location / { proxy_pass http://127.0.0.1:3000/; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
Reload Nginx 然后從瀏覽器控制臺嘗試鏈接, OK
new WebSocket("ws://ws.repo/")
或者通過 Upstream 的寫法:
upstream ws_server { server 127.0.0.1:3000; } server { listen 80; server_name ws.repo; location / { proxy_pass http://ws_server/; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
WebSocket 先是通過 HTTP 建立連接,
然后通過 101 狀態(tài)碼, 表示切換協(xié)議,, 在配置里是 Upgrade
不清楚具體里邊發(fā)生了什么... 求指點(diǎn)...
具體 HTTP Header 上的參數(shù)參考 SegmengFault 上的文章:
http://segmentfault.com/a/1190000000382788
參考的相關(guān)文章:
nginx and WebSockets
WebSocket connection failed with nginx, nodejs and socket.io
Proxying WebSockets with Nginx
zhangkaitao/websocket-protocol
細(xì)說WebSocket - Node篇
返回博客首頁: http://blog.tiye.me
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/39064.html
摘要:反向代理簡單解釋,用戶訪問頁面,由轉(zhuǎn)接,轉(zhuǎn)到服務(wù)器端的內(nèi)部開放端口不對外。 剛接觸的一個涉及實(shí)時通信的h5項(xiàng)目,前期開發(fā)沒遇到什么大問題,在pc端chrome調(diào)試都一切正常,用手機(jī)訪問頁面時,卻出現(xiàn)了一個問題,node啟動服務(wù)的命令行界面并沒有打印出用戶訪問頁面的信息,也就是說手機(jī)端的頁面沒有連接到websocket服務(wù),且本地計(jì)算機(jī)和手機(jī)是連的是同一個wifi,也就是說網(wǎng)絡(luò)環(huán)境相同,...
摘要:是個不太干凈協(xié)議。目前此協(xié)議的受眾的也不僅僅是開發(fā)者。借助協(xié)議進(jìn)行握手,握手成功后,就會變身為通道,從此與不再相見。如此操作,可以盡量避免普通請求被誤認(rèn)為協(xié)議。它包含四個事件和兩個動作發(fā)送和關(guān)閉。有類似協(xié)議的幀格式,在此不做過多解釋。 WebSocket是一種比較新的協(xié)議,它是伴隨著html5規(guī)范而生的,雖然還比較年輕,但大多主流瀏覽器都已經(jīng)支持。它使用方面、應(yīng)用廣泛,已經(jīng)滲透到前后端...
閱讀 3397·2023-04-25 14:07
閱讀 3466·2021-09-28 09:35
閱讀 2097·2019-08-30 15:55
閱讀 1412·2019-08-30 13:48
閱讀 2505·2019-08-30 13:16
閱讀 3206·2019-08-30 12:54
閱讀 3241·2019-08-30 11:19
閱讀 1881·2019-08-29 17:17