Проксирование веб-сокетов через nginx

Будьте мной. Имею существующий конфиг nginx, который работает для HTTP, но теперь большой парень просит меня также туннелировать через него соединения websocket.

В nginx conf, в разделе http, добавьте следующее

http {
    ...

    map $http_upgrade $connection_upgrade {
        default upgrade;
        '' close;
    }

    ...
}
Войти в полноэкранный режим Выйти из полноэкранного режима

В nginx conf, в разделе http > server > location, добавьте следующее

http {
    ...

    server {
        ...

        location ... {
            ...

            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;

            ...
        }
    }
}
Ввести полноэкранный режим Выйти из полноэкранного режима

Вызовите nginx

systemctl restart nginx
Войти в полноэкранный режим Выйти из полноэкранного режима

Все работает!

Будь мной. Возвращайтесь к просмотру телевизора.

Оцените статью
Procodings.ru
Добавить комментарий