【发布时间】:2017-02-03 14:50:00
【问题描述】:
我有一个在 nginx 反向代理下运行的 nodejs socket.io 应用程序。
我的nginx配置如下:
location ~ ^/(online|socket\.io) {
proxy_pass http://localhost:8888;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
这似乎有效,我的 nodejs 应用程序可以正常连接。在服务器端 socket.io 我有以下内容:
io.of('/online').on('connection', function(socket){
这似乎工作正常,'connection' 事件正在触发
当我尝试从服务器向客户端发出事件时出现问题:
socket.join("users");
io.sockets.in("users").emit("got_users",users);
客户端没有接收到“got_users”事件。在客户端,我有以下内容:
a4e.socket=io.connect('http://www.example.com/online');
这似乎工作正常,但是:
a4e.socket.on("got_users",function(online_users){
无论我尝试什么,这都不会触发“got_users”事件。
非常感谢任何帮助。
【问题讨论】:
标签: node.js nginx socket.io reverse-proxy