cloudflare / quiche

🥧 Savoury implementation of the QUIC transport protocol and HTTP/3
https://docs.quic.tech/quiche/
BSD 2-Clause "Simplified" License
9.51k stars 723 forks source link

Request HTTP3 timeout when nginx with fastcgi cache #445

Open kn007 opened 4 years ago

kn007 commented 4 years ago

When i using this http3check.net to test http3 with nginx have fastcgi cache:

HTTP/3 Check Internal Errors
Request timed out.
Request timed out.

nginx.log

2020/04/05 18:45:06 [alert] 19893#19893: *9 epoll_ctl(1, 41) failed (17: File exists), client: 159.65.253.210, server: kn007.net, request: "HEAD / HTTP/3", subrequest: "/index.php", host: "kn007.net"
2020/04/05 18:45:06 [info] 19893#19893: *9 shutdown() failed (107: Transport endpoint is not connected), client: 159.65.253.210, server: kn007.net, request: "HEAD / HTTP/3", subrequest: "/index.php", host: "kn007.net"

nginx with fastcgi without fastcgi cache test is fine.

nginx version: nginx/1.17.9
built by gcc 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC)
built with OpenSSL 1.1.0 (compatible; BoringSSL) (running with BoringSSL)
TLS SNI support enabled

PHP 7.4.4 (cli) (built: Mar 19 2020 23:05:27) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.4, Copyright (c), by Zend Technologies

But I using cargo with http3-client and gf.dev is passed.

I don't know where the problem...

kn007 commented 4 years ago

I using Firefox Nightly to test: nginx with fastcgi without fastcgi cache return HTTP/3 nginx with fastcgi cache return HTTP/2

Firefox Nightly with fastcgi cache return HTTP/3 now(TTFB > 30s first time), but nginx still show [alert] epoll_ctl(1, 34) failed (17: File exists)...

lizj3624 commented 3 years ago

I also encountered a similar bug, how to fix it?