【解決】nginx + socket.io ,能連接但不響應(yīng)事件
環(huán)境
nginx、socket.io、域名
nginx中的配置
server {
listen 80;
server_name app.example.com;
location /socket.io {
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
問題
socket客戶端使用端口(http://192.168.10.11:5000)可以連接并收發(fā)消息:
var socket = io('http://192.168.10.11:5000');
但使用域名配置可以連接卻不能收發(fā)消息:
var socket = io('http://app.example.com/socket.io/'); //不可以
var socket = io('http://app.example.com/'); //可以
抓包發(fā)現(xiàn)了 ‘Invalid namespace’ 的信息,仔細(xì)對比發(fā)現(xiàn) ,多了 ‘socket.io’ 的路徑!!
程序員何苦為難程序員!


浙公網(wǎng)安備 33010602011771號