From version 2.5 of Traefik, you are now able to use HTTP/3 (QUIC). Keep in mind that this protocol is not production-ready and can lead to some instabilities.
Version | Date | Commentaires |
---|---|---|
1 | 05/2022 | Post creation |
Goal : Give the capability for Traefik to receive/send HTTP/3 requests
Environment : Debian 11.7
, Docker 23.x
, docker compose (plugin) 2.17.x
, Traefik 2.x
Execution context :
jho@vmi866042:/srv/docker/dc$ tree
.
âââ conf
â  âââ acme.json
â  âââ traefik.yml
â  âââ traefikdynamic
â  â  âââ general.yml
â  â  âââ routersservices.yml
âââ docker-compose.yml
âââ logs
âââ traefikAccess.log
âââ traefik.log
Principe and requirements
HTTP/3 is a new web standard to increase the navigation speed. Without going into details, it is a transport protocol to send HTTP requests faster than HTTP/2 (TCP), particularly with the use of UDP.

More information here :
Traefik configuration
Before you start configuring HTTP/3, be aware that it is not possible to let Traefik listen to the same UDP port and TCP port. In addition, the entry point used for HTTP/3 needs to be the same they use with the routers which have a TLS configuration.
Configuration is simple: add the bloc "experimental" and modify the entry point which have the HTTPS bloc:
experimental:
http3: true
entryPoints:
web:
address: ":80"
http:
redirections:
entryPoint:
to: websecure
scheme: https
websecure:
address: ":443"
http3:
advertisedPort: "443"
You have to restart Traefik to commit changes. With this configuration, every router with the entry point "websecure" (in this example) will be reachable in HTTP/2 and HTTP/3.
Validate your access with this tool from Geekflare :
