Со стороны Nginx websocket — дополнительные заголовки при проксировании. Ниже приведен пример конфигурационного файла Nginx для приложения на NodeJS, использующего вебсокеты.
server
{
listen *:80;
server_name sitename.com www.sitename.com;
location / {
root /home/web/;
try_files $uri @nodejs;
}
location @nodejs {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
include /etc/nginx/proxy_http_headers.conf;
proxy_cache_bypass $http_upgrade;
proxy_read_timeout 300s;
}
}
В файле задается корневой каталог сайта, имя сайта с синонимами. Устанавливается перенаправление запросов в location @nodejs. В нем указан локальный порт 3000. На порту запускается приложение, которое обслуживает запросы.
Также устанавливаются необходимые для работы вебсокетов заголовки.
После внесения изменений нужно перезапустить веб-сервер.