WebSocket - todo

S.A.N nginx-forum на nginx.us
Пн Авг 3 00:55:55 UTC 2015


После очередной настройки проксирования 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;
	}

Что скажете?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,260715,260715#msg-260715



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