Skip to content

Commit fefc925

Browse files
authored
Merge pull request #26 from frigi83/dev
✨ HTTP/3 example
2 parents 1c712b1 + 1bbeb25 commit fefc925

3 files changed

Lines changed: 96 additions & 0 deletions

File tree

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[tls.options]
2+
3+
[tls.options.default]
4+
minVersion = "VersionTLS12"
5+
6+
cipherSuites = [
7+
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
8+
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
9+
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305",
10+
"TLS_AES_128_GCM_SHA256",
11+
"TLS_AES_256_GCM_SHA384",
12+
"TLS_CHACHA20_POLY1305_SHA256"
13+
]
14+
15+
sniStrict = true
16+
17+
[http]

example_http3/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
See this post https://frigi.ch/en/2022/07/activate-http/3-in-traefik/
3+
4+
5+
If you find a problem in this guide or in the configurations files you can open an [issue](https://github.com/frigi83/traefik-examples/issues) on GitHub. Thanks!

example_http3/docker-compose.yml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
version: '3.7'
2+
3+
services:
4+
5+
# =============================================================
6+
#
7+
# TRAEFIK - reverse proxy
8+
#
9+
# =============================================================
10+
11+
traefik:
12+
image: traefik:v2.8
13+
container_name: traefik
14+
command:
15+
# - "--log.level=DEBUG"
16+
- "--api.dashboard=true"
17+
- "--providers.file.directory=/FileProvider/"
18+
- "--providers.file.watch=true"
19+
- "--providers.docker=true"
20+
- "--providers.docker.exposedbydefault=false"
21+
- "--entrypoints.web.address=:80"
22+
- "--entrypoints.web.http.redirections.entryPoint.to=web-secure"
23+
- "--entrypoints.web.http.redirections.entryPoint.scheme=https"
24+
- "--entrypoints.web-secure.address=:443"
25+
- "--entrypoints.web-secure.http3"
26+
- "--experimental.http3=true"
27+
- "--serverstransport.insecureskipverify=true"
28+
- "--certificatesresolvers.certificato.acme.dnschallenge=true"
29+
- "--certificatesresolvers.certificato.acme.dnschallenge.provider=cloudflare"
30+
- "--certificatesresolvers.certificato.acme.dnschallenge.delaybeforecheck=10"
31+
- "--certificatesresolvers.certificato.acme.dnschallenge.resolvers=1.1.1.1:53"
32+
# - "--certificatesresolvers.certificato.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
33+
- "--certificatesresolvers.certificato.acme.email=${ACME_EMAIL}"
34+
- "--certificatesresolvers.certificato.acme.storage=acme.json"
35+
- "--ping=true"
36+
environment:
37+
CF_API_EMAIL: ${CF_API_EMAIL}
38+
CF_API_KEY: ${CF_API_KEY}
39+
CLOUDFLARE_EMAIL: ${CLOUDFLARE_EMAIL}
40+
CLOUDFLARE_API_KEY: ${CLOUDFLARE_API_KEY}
41+
labels:
42+
- "traefik.enable=true"
43+
- "traefik.http.routers.api.rule=Host(`traefik.${DOMAIN}`)"
44+
- "traefik.http.routers.api.entrypoints=web-secure"
45+
- "traefik.http.routers.api.tls.certresolver=certificato"
46+
- "traefik.http.routers.api.tls.domains[0].main=*.${DOMAIN}"
47+
- "traefik.http.routers.api.service=api@internal"
48+
ports:
49+
- 80:80
50+
- 443:443/tcp
51+
- 443:443/udp
52+
volumes:
53+
- /var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen to the Docker events
54+
- /path/to/docker/traefik/acme.json:/acme.json
55+
- /path/to/docker/traefik/FileProvider/:/FileProvider/
56+
restart: always
57+
58+
59+
# =============================================================
60+
#
61+
# WHOAMI
62+
#
63+
# =============================================================
64+
65+
whoami:
66+
image: containous/whoami
67+
container_name: whoami
68+
labels:
69+
- "traefik.enable=true"
70+
- "traefik.http.routers.whoami.rule=Host(`whoami.${DOMAIN}`)"
71+
- "traefik.http.routers.whoami.entrypoints=web-secure"
72+
- 'traefik.http.routers.whoami.tls=true'
73+
- "traefik.http.routers.whoami.tls.certresolver=certificato"
74+
- "traefik.http.routers.whoami.tls.domains[0].main=*.${DOMAIN}"

0 commit comments

Comments
 (0)