Ответы (пока):
Q1: ДА! Электронной почтой может быть любой ваш адрес электронной почты.Имя домена не обязательно должно совпадать с именем вашего домена.Доменное имя должно действительно указывать на VPS.
Q2: ДА! В первый раз оставьте 80-порт открытым.Начните перенаправление после установки сертификата.
Q3: ДА! : Я не смог найти ответ, поэтому сразу попробовал предложения, приведенные в первом ответе.Я перезапустил примерно 3 раза из-за изменения других настроек, и в журнале Traefik не было ошибок.
Теперь давайте перейдем к реальному коду.В коде вы можете найти 3 ответа.Следующий файл - это файл traefik.toml:
logLevel = "ERROR"
defaultEntryPoints = ["http", "https"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[docker]
domain = "xyz.com"
[api]
[acme]
# Q1 - just use your email address
email = "email@example.com"
storage = "acme.json"
onHostRule = true
entryPoint = "https"
# Q3 answer = this allows for the TLS challenge on port 443
[acme.tlsChallenge]
# Q2 answer = this provides the HTTP challenge on port 80
#[acme.httpChallenge]
# entryPoint = "http"
Файл создания docker:
version: '3'
services:
traefik:
image: traefik:v1.7
container_name: traefik
restart: always
networks:
- yourappnet
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /your_path/traefik/traefik.toml:/traefik.toml
- /your_path/traefik/acme.json:/acme.json
ports:
- "80:80"
- "443:443"
labels:
- "traefik.docker.network=yourappnet"
- "traefik.frontend.rule=Host:monitor.xyz.com"
- "traefik.port=8080"
yourapp:
image: dockerhubuser/dockerimagename:latest
ports:
- 8080
networks:
- yourappnet
labels:
- "traefik.docker.network=yourappnet"
- "traefik.frontend.rule=Host:xyz.com"
networks:
yourappnet:
driver: bridge