Деплой делает nginx -s reload . Команда возвращает ноль, nginx -T показывает новый конфиг, в error.log ровно одна строка — reconfiguring. А keep-alive соединение, открытое секундой раньше, в этот момент закрывается. Само по себе это не ошибка: сервер вправе закрыть простаивающий keep-alive когда угодно. Ошибку даёт гонка — FIN уходит в тот момент, когда клиент уже записал в сокет следующий запрос. Идемпотентный он повторит, POST — нет. Разбор по исходникам на фиксированных тегах: nginx release-1.31.3, httpd 2.4.68, traefik v3.7.10, плюс замер всех четырёх (с HAProxy) на одном стенде в одном прогоне. Выясняется, что мастер nginx конфиг не перечитывает вообще: он строит новый цикл целиком и форкает новых воркеров, а старым остаётся ровно то, что у них было. Apache приходит к тому же контракту через счётчик поколений, HAProxy — через замену процесса. А у одного из четырёх второй запрос в том же самом сокете возвращает уже новый конфиг — и причина не та, о которой вы подумали. Внутри: поче
Деплой делает nginx -s reload. Команда возвращает ноль, nginx -T показывает новый конфиг, в error.log — ровно одна строка reconfiguring. А keep-alive соединение, открытое секундой раньше, в этот момент закрывается. Вот со стенда:
keep-alive соединение KA: ('127.0.0.1', 50734) -> ('127.0.0.1', 8081) KA, запрос 1 (до reload): X-Config=v1 KA, запрос 2 (ТОТ ЖЕ сокет): !! соединение закрыто сервером новый сокет, запрос 3: X-Config=v2
Похожие статьи
Российская газета
Российская газета
Как швейная фабрика в Мстиславле стала одним из индустриальных флагманов
Экономический потенциал белорусско-российского сотрудничества успешно реализуется не только на уровне промышленных гигантов и крупных административных единиц, но и раскрывается в малых районных центра...
Барановская прогулялись по Гонконгу в аксессуарах за 145 тысяч рублей 💎
Барановская прогулялись по Гонконгу в аксессуарах за 145 тысяч рублей 💎 Юлия решила не надевать все самое дорогое, а отдала предпочтение Louis Vuitton прямиком из 2010-х. Сейчас такую сумочку можно пр...