Connecting to my websocket server directly works (Chrome or Firefox).
Connecting via the Nginx websocket proxy connects, but drops frames.
Here is
an example of the JSON messages:
← {“login” : { “username”: “user”, “password” : “pass”}}
→ {“loginReply” : { “state”: “ok”}}
← {“someSetting1” : { “something”: “something”}}
← {“someSetting2” : { “something”: “something”}} DROPPED
← {“someSetting3” : { “something”: “something”}} DROPPED
Those last three messages are sent immediately after login, but the last
two
don’t make it to the websocket server (~90% of the time). Subsequent
messages, work fine, as if nothing was missing.
I have tried Nginx 1.4.7, 1.5.13 & 1.6
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;
}
I have tried proxy_buffering off and on.
Anything else I should try?
The problem occurs ~30% of the time on my powerful x86 machine, and ~90%
on
my two less powerful ARM machines (one is a Raspberry Pi, and the other
a
much faster dual core).
Posted at Nginx Forum: