J'ai réussi à configurer Traefik pour qu'il fonctionne avec mon essaim de dockers et pour les requêtes HTTP cela fonctionne très bien. Cependant, je ne sais pas comment configurer SSL pour certains de mes conteneurs. Je vais utiliser letsencrypt pour générer des certificats.Comment ajouter des étiquettes correctes dans docker pour SSL?
traefik.toml (partiel)
defaultEntryPoints = ["https","http"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[acme]
email = "[email protected]"
storage = "acme.json"
entryPoint = "https"
onHostRule = true
caServer = "https://acme-staging.api.letsencrypt.org/directory"
docker-compose.yml
version: '3'
services:
web:
...
deploy:
labels:
- "traefik.enable=true"
- "traefik.frontend.rule=Host:example.com,www.example.com"
- "traefik.docker.network=public"
- "traefik.frontend.entryPoints=http"
- "traefik.backend=service_web"
Dans cette configuration, ma demande arrive jamais SSL parce que mes conteneurs n'ont pas configuré SSL entryPoint. Si je change "traefik.frontend.entryPoints" en "https", Letsencrypt est appelé (LE donne une erreur à cause de la mise en scène mais cela ne me dérange pas pour le moment).
Mon plus gros problème est que, je ne sais toujours pas comment convertir la configuration de traefik TOML en étiquettes docker-composer. Par exemple, Traefik docs expliquer les entrypoints mais j'ai beaucoup de services qui vivent sous différents domaines. Certains ont SSL, d'autres n'ont pas de SSL; par conséquent, je veux être en mesure de configurer les entryPoints http et https, les redirections http vers https, etc. en utilisant uniquement docker-composer.
De même, une fois que je suis en mesure de définir des entrypoints dans docker-composer, dois-je garder le bloc [entryPoints]
dans traefik.toml?