August 02, 2015 08:55PM
После очередной настройки проксирования websocket сервера, меня все больше удивляет, почему в Nginx нет модуля websocket, c директивами websocket_*?

Модуль нужен не только для красоты конфига, он может хранить под капотом оптимальные дефолт настройки и кучу проверок на отсеивания заведомо инвалидных запросов с точки зрения протокола websocket, и развиваться модуль мог бы так же активно как и сам протокол.

Сейчас мой упрощенный конфиг для проксирования websocket сервера, выглядит так:
location /
{
if ($http_upgrade !~* ^websocket$)
{
add_header Upgrade websocket always;

return 426;
}

proxy_pass http://ws_upstream;
proxy_http_version 1.1;
proxy_read_timeout 300s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

Но по сути он должен выглядеть как-то так:
location /
{
websocket_pass http://upstream;
}

Или так:
location /
{
proxy_pass ws://upstream;
}

Что скажете?
Subject Author Posted

WebSocket - todo

S.A.N August 02, 2015 08:55PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 297
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready