[英]disconnet event doesn't fire in nginx + socket.io + xhr-polling
我嘗試通過nginx代理node.js,socket.io和xhr輪詢流量。
然后Socket.io不會觸發“斷開連接”事件。
但是,波紋管條件很好。
我的版本是波紋管。
我的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
您的意思是當用戶關閉瀏覽器或選項卡時斷開連接事件嗎? 如果是這樣,請在連接服務器時在客戶端嘗試以下代碼:
io.connect('/', {
'sync disconnect on unload': true
});
(第一個參數'/'
在您的配置中可能有所不同)
在這里您可以找到詳細信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.