Проксирование web sockets

Alex Domoradov alex.hha at gmail.com
Thu Mar 21 14:27:57 UTC 2013


В связи с недавно анонсированной поддержкой web sockets в nginx решил
попробовать данную возможность. Создал простой конфиг

server {
        listen 192.168.210.221:80;
        server_name 192.168.210.221;
        charset utf8;

        location / {
        proxy_pass http://localhost:54321;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        tcp_nodelay on;
    }
}

На localhost:54321 запущена debug консоль хрома. Но при поытке открыть
http://192.168.210.221/devtools/devtools.html?ws=192.168.210.221/devtools/page/25_1
получаю ошибку websocket_closed. Через localhost все работает отлично
http://i.piccy.info/i7/7ab5f5e9681901a16e853d0ca3489340/4-56-740/3206943/chrome.png

Есть какие то идеи?

# cat /etc/redhat-release
CentOS release 6.4 (Final)

# uname -r
2.6.32-358.2.1.el6.x86_64

# nginx -v
nginx version: nginx/1.3.14



Подробная информация о списке рассылки nginx-ru