Добрый день, On Fri, Mar 31, 2023 at 10:43:33AM +0300, izor...@gmail.com wrote: > Здравствуйте. > Столкнулся с очередной ошибкой в работе с протоколом HTTP/3. > > В первом случае при запросе через curl соединение сбрасывается на HTTP/2 > протокол: > curl --head --http3 https://example.com/test.txt > HTTP/2 200 > server: nginx/1.23.4 > date: Fri, 31 Mar 2023 07:24:25 GMT > content-type: text/plain > content-length: 5 > last-modified: Thu, 30 Mar 2023 18:51:19 GMT > etag: "6425da27-5" > alt-svc: h3=":443"; ma=86400 > accept-ranges: bytes
Судя по логам, curl одновременно создает оба соединения - http/2 и http/3. Далее, в процессе QUIC-хендшейка nginx не получает ответа от curl и перепосылает CRYPTO-фреймы. Но к этому моменту curl уже выслал запрос по http/2. Вероятно, имеет место потеря UDP-пакетов. Попробуйте запустить curl с логгированием (-v), может там будет что-то полезное. > Во втором случае соединение зависает и curl начинает загружать ядро > процессора на 100%. Судя по всему, это баг в curl. Судя по логам, nginx получает запрос и отправляет ответ. После этого curl ничего не шлет, даже подтверждения получения пакетов. Опять же, полезно было бы посмотреть, что при этом делает сам curl. > Конфигурацию и логи прикрепил в архиве. > > > -- > С уважением, > Izorkin mailto:izor...@gmail.com > _______________________________________________ > nginx-ru mailing list > nginx-ru@nginx.org > https://mailman.nginx.org/mailman/listinfo/nginx-ru -- Роман _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-ru