【解决】nginx + socket.io ,能连接但不响应事件
环境
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)可以连接并收发消息:
var socket = io('http://192.168.10.11:5000');
但使用域名配置可以连接却不能收发消息:
var socket = io('http://app.example.com/socket.io/'); //不可以
var socket = io('http://app.example.com/'); //可以
抓包发现了 ‘Invalid namespace’ 的信息,仔细对比发现 ,多了 ‘socket.io’ 的路径!!
程序员何苦为难程序员!


浙公网安备 33010602011771号