Is there any way I can implement HTTP/3 in Apache?
The QUIC protocol has now been made an RFC, see RFC 9000. Waiting for HTTP/3...
OpenSSL said somewhere that they will begin working on QUIC after they release OpenSSL 3.0. Not sure when OpenSSL 3.0 is going to be released.
Until that, maybe we can integrate BoringSSL into Apache, and start testing stuff with QUIC.
For control panel users, QUIC is turned on by default for Apache HTTPS vhosts. All that is required is to open UDP port 443.
HTTP/3 uses QUIC, a transport layer network protocol which uses user space congestion control over the User Datagram Protocol (UDP).
HTTP/3 is a new standard in development that will affect how web browsers and servers communicate, with significant upgrades for user experience, including performance, reliability, and security.
This can be done by opening Google Chrome, in the URL type chrome://flags. Look for Experimental QUIC protocol and disable it. Detect QUIC in Chrome: If you want to see if your connection to Chrome uses QUIC, here is a browser extension that can tell you.
No there is no way at present. Apache has not committed to doing the work required here at this time.
LiteSpeed is an Apache alternative supporting many of the same features, but with strong QUIC and HTTP/3 support.
Nginx also has only made vague comments about QUIC and HTTP/3 but Cloudflare have made an Nginx patch available that adds QUIC and HTTP/3 support. (Edit Nginx have since previewed HTTP/3 support built independently of Cloudflare’s implementation).
Or alternatively Caddy is another alternative server with QUIC and HTTP/3 support.
However, if I were looking to enable, or even just experiment, with QUIC and HTTP/3 I would look to a CDN as they will be the simplest way to enable this and ensure you have optimal settings. Cloudflare have a free plan that (I think) also includes HTTP/3 and QUIC support so is easy to set up in front of a site you own.
Note: Compile NGINX with quiche, only use this solution when you want to test HTTP/3, as it is not very reliable.
One solution I got is, you can run NGINX using HTTP/3 only on 443 with only QUIC, so it will use UDP.
And, you can use Apache on 443 which will use TCP.
So, you can make Apache send the Alt-Svc header, and make it handle HTTP/0.9, HTTP/1.0, HTTP/1.1 and HTTP/2.0.
And, you can make NGINX like a wrapper around Apache using:
listen 1.2.3.4:443 quic reuseport;
location / {
proxy_pass https://your-apache-server.tld:443;
}
This just makes you allowed to run:
Upgrade: h2c
header to upgrade to itH2Direct
in Apache to enable http2-prior-knowledge (not sure what its actually called).If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With