【发布时间】:2014-04-24 16:01:22
【问题描述】:
可以直接连接到我的 websocket 服务器(Chrome 或 Firefox)。通过 Nginx websocket 代理连接,但会丢帧。以下是 JSON 消息的示例:
<-- {"login" : { "username": "user", "password" : "pass"}}
--> {"loginReply" : { "state": "ok"}}
<-- {"someSetting1" : { "something": "something"}}
<-- {"someSetting2" : { "something": "something"}} **DROPPED**
<-- {"someSetting3" : { "something": "something"}} **DROPPED**
最后三个消息在登录后立即发送,但最后两个不会发送到 websocket 服务器(大约 90% 的时间)。随后的消息,工作正常,好像什么都没有。
我已经尝试过 Nginx 1.4.7 和 1.5.13
location /websocket {
proxy_pass http://localhost:8001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
我已尝试关闭和打开 proxy_buffering。
还有什么我应该尝试的吗?
【问题讨论】: