Socket.io с nginx

Я пытаюсь обслужить статические файлы с помощью nginx 1.6 и прокси-трафик сокетов, поступающих с веб-сервера Node.js с socket.io.

Это соответствующая часть nginx.conf:

location /socket.io/ {
            proxy_pass http://localhost:3000;       
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
            proxy_set_header Host $host;
        }

Он отлично работает напрямую между браузером и Node.js, но socket.io занимает слишком много времени, если проксируется через nginx 1.6. Протокол установления связи занимает слишком много времени, но если его не прерывать, он через несколько минут начинает работать.

Доставка статических файлов с помощью nginx работает отлично.

В чем может быть проблема?

ОБНОВИТЬ:

Я немного проанализировал сетевой трафик и определил, что следующий запрос длится около минуты (именно тогда запрашивается обновление):

Sec-WebSocket-Key: LhZ1frRdl+myuwyR/T03lQ==
Cookie: io=1-A7tpvwmoGbrSvTAAA5
Connection: keep-alive, Upgrade
Upgrade: websocket
....

Ожидаемый ответкод 101 а также:

Connection: upgrade
Sec-WebSocket-Accept: HXx3KKJadQYjDa11lpK5y1nENMM=
Upgrade: websocket
...

вместо этого браузер получает400 а также:

Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:8888
Connection: keep-alive
Content-Type: application/json
Server: nginx/1.6.2
Transfer-Encoding: chunked

ОБНОВЛЕНИЕ 2:

Я решил, что такая же конфигурация отлично работает на моем офисном компьютере, что означает, что это проблема моего домашнего компьютера. Во всяком случае, было бы очень приятно определить, что именно идет не так.

Ответы на вопрос(3)

Ваш ответ на вопрос