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.
Goal : Give the capability for Traefik to receive/send HTTP/3 requests
docker compose (plugin) 2.17.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 :
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 :