Welcome! Log In Create A New Profile

Advanced

Re: nginxQuic: медленный ответ от сервера.

Roman Arutyunyan
June 12, 2022 02:30PM
Добрый день,

On Mon, May 30, 2022 at 04:27:54PM +0400, Roman Arutyunyan wrote:
> Добрый день,
>
> Да, я видел. спасибо.
>
> > On 30 May 2022, at 16:22, izorkin@gmail.com wrote:
> >
> > Добрый день Роман.
> >
> > Скинул ссылку с дампом на личную почту.
> > Вероятно, что могло попасть в спам, т.к. предыдущее письмо тоже осталось без ответа
> >
> >
> > --
> > С уважением,
> > Izorkin mailto:izorkin@gmail.com
> >
> > _______________________________________________
> > nginx-ru mailing list -- nginx-ru@nginx.org
> > To unsubscribe send an email to nginx-ru-leave@nginx.org
>
> ----
> Roman Arutyunyan
> arut@nginx.com

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

Удалось выяснить следующее. Имеет место проблема на стороне Хрома. Если
точнее, в гугловой библиотоке 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
arut@nginx.com
_______________________________________________
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-leave@nginx.org
Subject Author Posted

nginxQuic: медленный ответ от сервера.

Anonymous User May 27, 2022 06:38PM

Re: nginxQuic: медленный ответ от сервера.

Evgeniy Berdnikov May 28, 2022 04:16AM

Re: nginxQuic: медленный ответ от сервера.

Anonymous User May 28, 2022 05:04AM

Re: nginxQuic: медленный ответ от сервера.

Evgeniy Berdnikov May 29, 2022 05:10AM

Re: nginxQuic: медленный ответ от сервера.

Anonymous User May 30, 2022 08:24AM

Re: nginxQuic: медленный ответ от сервера.

Roman Arutyunyan May 30, 2022 08:28AM

Re: nginxQuic: медленный ответ от сервера.

Roman Arutyunyan June 12, 2022 02:30PM

Re: nginxQuic: медленный ответ от сервера.

Anonymous User June 12, 2022 02:38PM

Re: nginxQuic: медленный ответ от сервера.

Roman Arutyunyan July 01, 2022 09:16AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 45
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready