Traefik не будет запрашивать Let's Encrypt для некоторых поддоменов (но работает для некоторых других)
Я использую Traefik в Kubernetes, используя эту таблицу Хелма: https://github.com/helm/charts/tree/master/stable/traefik
Версия Traefik - 1.6.5. Вот часть файла values.yml:
ssl:
enabled: true
enforced: true
insecureSkipVerify: false
defaultCert: [...]
defaultKey: [...]
acme:
enabled: true
email: [...]
staging: false
logging: true
challengeType: http-01
deployment:
hostPort:
httpEnabled: true
httpsEnabled: true
dashboardEnabled: false
Сертификат по умолчанию - это сертификат, выданный вручную с помощью Let's Encrypt для подстановочного домена (*.example.com).
Теперь, когда я развертываю развертывание с использованием входа traefik, у которого есть поддомен example.com, такой как storage.example.com
сертификат по умолчанию для *.example.com будет использоваться вместо нового сертификата от Let's Encrypt для этого субдомена. Вот логи от Трафика:
time="2018-08-06T08:28:45Z" level=debug msg="Try to challenge certificate for domain [storage.example.com] founded in Host rule"
time="2018-08-06T08:28:45Z" level=debug msg="No domain parsed in rule \"PathPrefix:/\""
....
time="2018-08-06T08:28:45Z" level=debug msg="Looking for provided certificate(s) to validate [\"storage.example.com\"]..."
time="2018-08-06T08:28:45Z" level=debug msg="No ACME certificate to generate for domains [\"storage.example.com\"]."
Поэтому, когда я делаю запрос на https://storage.example.com/:
time="2018-08-06T08:31:04Z" level=debug msg="No certificate provided dynamically can check the domain \"storage.example.com\", a per default certificate will be used."
Хотя это работает для других доменов, которые не являются поддоменами example.com. Итак, как я могу заставить Traefik автоматически получать сертификат для storage.example.com
от Let's Encrypt в этой ситуации?
(Не уверен, что у Let's Encrypt есть ограничение на выдачу сертификата для субдомена, уже включенного в подстановочный сертификат)
Обновление: Let's Encrypt не имеет такого ограничения