成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Note: 基本的 WebSocket 的 Nginx 配置

tinylcy / 2572人閱讀

摘要:覺得很容易用到從開始支持現(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

相關(guān)文章

  • websocket pc端調(diào)試成功,手機(jī)端不可通信

    摘要:反向代理簡單解釋,用戶訪問頁面,由轉(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)境相同,...

    lovXin 評論0 收藏0
  • WebSocket協(xié)議 8 問

    摘要:是個不太干凈協(xié)議。目前此協(xié)議的受眾的也不僅僅是開發(fā)者。借助協(xié)議進(jìn)行握手,握手成功后,就會變身為通道,從此與不再相見。如此操作,可以盡量避免普通請求被誤認(rèn)為協(xié)議。它包含四個事件和兩個動作發(fā)送和關(guān)閉。有類似協(xié)議的幀格式,在此不做過多解釋。 WebSocket是一種比較新的協(xié)議,它是伴隨著html5規(guī)范而生的,雖然還比較年輕,但大多主流瀏覽器都已經(jīng)支持。它使用方面、應(yīng)用廣泛,已經(jīng)滲透到前后端...

    jaysun 評論0 收藏0

發(fā)表評論

0條評論

tinylcy

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<