Nginx websocket

Со стороны 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. На порту запускается приложение, которое обслуживает запросы.



Также устанавливаются необходимые для работы вебсокетов заголовки.


После внесения изменений нужно перезапустить веб-сервер.