Enable HTTP/3
Enable TLSv1.3 Protocol Support
First, ensure that TLSv1.3 protocol support is enabled in Global Settings
/General
Configure HTTP/3
In Global Settings
/Cluster Partitions
, you need to add an HTTP/3 listening port for the partition. Since HTTP/3 uses UDP protocol, add port 443 here, which is the same as HTTPS.
Note: Please verify that port 443 UDP is open in your security firewall.
After configuring the HTTP/3 port, add the Alt-Svc
response header through page rules to inform clients that the website provides HTTP/3 service on the specified port.
The Alt-Svc
response header format is as follows:
Alt-Svc: <protocol-id>=<alt-authority>; ma=<max-age>
Example:
Alt-Svc: h3-25=":443"; ma=3600
Alt-Svc: h3=":443"; ma=3600, h3-25=":443"; ma=3600, h3-29=":443"; ma=3600
Since we just added HTTP/3 port 443, we can fill in h3=":443"; ma=3600, h3-25=":443"; ma=3600, h3-29=":443"; ma=3600
.
Verify HTTP/3
After completing the configuration, you can verify if HTTP/3 is working properly through the following methods:
Using cURL
Note: You need a cURL version that supports HTTP/3. You can refer to the official documentation: https://curl.se/docs/http3.html
- Directly use HTTP/3 protocol:
curl -i --http3 https://your-domain.com/
HTTP/3 200
date: Fri, 28 Mar 2025 03:13:10 GMT
content-type: text/plain
req-id: 0000008000046ce4ce30000b
- Automatic protocol upgrade via Alt-Svc:
curl -i --alt-svc altsvc.cache https://your-domain.com/
# First request (HTTP/1.1)
HTTP/1.1 200 OK
Date: Fri, 28 Mar 2025 03:16:47 GMT
Content-Type: text/plain
alt-svc: h3=":443"; ma=3600, h3-25=":443"; ma=3600, h3-29=":443"; ma=3600
# Subsequent request (automatically upgraded to HTTP/3)
HTTP/3 200
date: Fri, 28 Mar 2025 03:16:48 GMT
content-type: text/plain
Using Docker Container
If you don’t have cURL with HTTP/3 support installed, you can use a pre-configured Docker image:
docker run -it --net=host --rm ymuski/curl-http3 curl -i --http3 https://your-domain.com/
Browser Verification
Major browsers (such as Chrome, Firefox, Edge) now support HTTP/3. You can check the protocol version of network requests through the browser’s developer tools. Make sure HTTP/3 feature support is enabled in your browser.