Добрый день,

> On 28 Jun 2022, at 09:01, izor...@gmail.com wrote:
> 
> Добрый день, Роман.
> 
> Я ещё заметил одну ошибку в работе HTTP 3 протокола.
> Через очень долгое время (5-8 часов), браузер начинает отправлять запросы по 
> HTTP 2 протоколу, вместо
> HTTP 3. Собрал debug-лог, но не смог проследить с какого момента прошло 
> переключение. Если понадобится,
> то к вечеру смогу отправить вам логи.


Проблема появилась тогда, когда вы начали реконфигурацию nginx (послали SIGHUP).
При появлении новых воркеров ломается логика распределения квиковых соединений 
по воркерам.
В итоге, например, новый пакет может прийти в старый воркер, которым он будет 
проигнорирован.

Все бы могло относительно быстро рассосаться после череды ошибок, если бы у вас 
не висел один запрос с
проксировнием вебсокетов, который не давал завершиться старому воркеру.
Кроме того, похоже, у вас выключен таймаут на шатдаун воркеров.

Если у вас (свежий) Linux, то проблема с распределением квиковых клиентов по 
воркерам решается включением bpf-модуля.
Для этого укажите следующую директиву на верхнем уровне конфига:

  quic_bpf on;

При этом nginx должен иметь админские права (CAP_SYS_ADMIN) при запуске.

----
Roman Arutyunyan
a...@nginx.com




_______________________________________________
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-le...@nginx.org

Ответить