我尝试通过nginx代理node.js,socket.io和xhr-polling流量。
然后Socket.io不会触发“disconnect”事件。
然而,波纹管状况正常。
我的版本如下:
我的nginx配置文件设置如下。
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:3000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_read_timeout 300;
proxy_connect_timeout 300;
chunked_transfer_encoding off;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
}
我该如何解决这个问题?我错过了什么吗? 在此先感谢:)
此外,我发现了出现问题的新情况。
我的问题的结果取决于以下内容。
调查结果如下。
・ Chrome @ Mac OS X
・ Aquos Phone(Android Brower, Android 4.0.4)
port 80 ⇒ NG
port 3000 ⇒ OK
・ Gallaxy S(Android Brower, Android 4.2.2)
・ iPhone 5(Safari, iOS 7)
port 80 ⇒ NG
port 3000 ⇒ NG
答案 0 :(得分:0)
您是指用户关闭浏览器或标签时的断开事件吗?如果是这样,请在连接到服务器时在客户端尝试此代码:
io.connect('/', {
'sync disconnect on unload': true
});
(您的配置中的第一个参数'/'
可能不同)
Here您可以找到详细信息。