dasha_programmist
@dasha_programmist
ex Software Engineer at Reddit TS/React/GraphQL/Go

Перезапуск Nginx без обрыва WebSocket соединений, реально?

Имеются следующие вводные:
CloudFlare
Кластер Docker Swarm
Nginx в роли reverse proxy
Go-app с веб-сокетами

В Nginx конфиге имеется несколько доменов, домены приходится добавлять. Сервис Nginx после редактирования конфигов рестартую, поскольку пересобираю образ.
После рестарта ws-соединения рвутся.

Есть ли способы решить вопрос на серверной стороне перезагрузки Nginx конфига без разрыва WebSocket соединений?
Не предлагайте способы реализовать это на клиенте
  • Вопрос задан
  • 396 просмотров
Решения вопроса 2
alekciy
@alekciy
Вёбных дел мастер
А почему restart nginx-а, а не reload?
Ответ написан
@ProFfeSsoRr
Сис.админ по Linux
Сервис Nginx после редактирования конфигов рестартую, поскольку пересобираю образ.

Получается, что решение проблемы - не пересобирать образ. В Kubernetes это всё крутится видимо? Нельзя просто для новых доменов запускать новый nginx, а старый не трогать, пусть обслуживает старых пользователей?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vitaly_il1
DevOps Consulting
Сервис Nginx после редактирования конфигов рестартую, поскольку пересобираю образ.

Насколько понимаю, это нереально, и единственный вариант - это использовать несколько Nginx instances, и обновлять их по очереди: пометил Nginx как неактивный, дождался пока все сессии завершились, обновили. И т.д.
Насколько легко это сделать в Docker Swarm, не знаю.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы