問題很困擾,先說問題背景:我在嘗試一個非常簡單的websocket應(yīng)用(一個同步畫板工具,移動端有效http://draw.10000h.top/canvas... )然后后來打算用nginx配置websocket代理,由于我的websocket和nodejs服務(wù)用的不是一個端口,但是是寫在一個app.js中了,因此我一開始這樣配置:location /socket.io這一部分的proxy_pass自己也嘗試過用http://websocket_canvas/或者直接把地址寫在這等等。。。前端鏈接的話這樣:io.connect('http://draw.10000h.top/socket.io');后端:var io=require("socket.io").listen(10003); //start不報任何錯誤,抓包的話也正常(有一個101的pending鏈接),但是這樣寫就是失敗的。。。但是我把websocket的代理單獨配置出來,像這樣:然后var socket = io.connect('http://socket.10000h.top');這樣就能成功。為什么代理配置在根域名下就成功了?上一種方式為何靜默失敗呢?內(nèi)容有點啰嗦..請各路大神幫忙看下...謝謝
nginx代理websocket寫法問題(使用了socket.io)
倚天杖
2018-11-14 14:10:54