Здравствуйте, Роман. Спасибо за помощь в поиске и устранении проблемы! Отключение директивы ssl_ecdh_curve в Nginx помогло.
Планируется ли делать баг-репорт в Chrome? Вы писали 12 июня 2022 г., 21:27:53: > Добрый день, > Удалось выяснить следующее. Имеет место проблема на стороне Хрома. Если > точнее, в гугловой библиотоке QUICHE. Проблемa триггерится комбинацией > EarlyData + HelloRetryRequest. Если Хром отправил EarlyData, которую сервер > проигнорировал, то далее клиент не шлет новый ClientHello в ответ на > HelloRetryRequest т.к. зачем-то ждет подтверждения EarlyData. В итоге > соединение зависает и таймаутится. ClientHello ->> EarlyData ->> (ignore) > <- HelloRetryRequest > (timeout) > Самый простой способ обойти проблему - избежать отправки HelloRetryRequest. > В рассматриваемом случае для этого достаточно было убрать из конфигурации > nginx директиву ssl_ecdh_curve. > Заткнуть это также можно и в QUICHE при помощи следующего патча: > diff --git a/quiche/quic/core/quic_session.cc > b/quiche/quic/core/quic_session.cc > index d2976006..ad5c4d3c 100644 > --- a/quiche/quic/core/quic_session.cc > +++ b/quiche/quic/core/quic_session.cc > @@ -2404,6 +2404,9 @@ bool QuicSession::RetransmitLostData() { > return false; > } > } > + if (connection()->encryption_level() == ENCRYPTION_ZERO_RTT) { > + return true; > + } > while (!streams_with_pending_retransmission_.empty()) { > if (!CanWriteStreamData()) { > break; > ---- > Roman Arutyunyan > a...@nginx.com > _______________________________________________ > nginx-ru mailing list -- nginx-ru@nginx.org > To unsubscribe send an email to nginx-ru-le...@nginx.org -- С уважением, Izorkin mailto:izor...@gmail.com _______________________________________________ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org