Использование Traefik с несколькими доменами

Я пытаюсь настроить dockerized версию traefik с двумя доменами и сертификатами, созданными с помощью Let's Encrypt.

Я изменил traefik.toml, чтобы он выглядел так:

[acme]
  email = "[email protected]"
  storage = "acme.json"
  entryPoint = "https"
  OnHostRule = true

[[acme.domains]]
   main = "domain1.com"
[[acme.domains]]
   main = "domain2.com"

И в docker-compose я добавил эти ярлыки:

labels:
  - "traefik.frontend.rule=Host:test-1.domain2.com"
  - "traefik.enable=true"
  - "traefik.port=80"

Когда я пытаюсь получить доступ к контейнеру на domain1.com с соответствующими изменениями меток (frontend.rule), сертификат в порядке.

Когда я пытаюсь получить доступ к контейнеру на domain2.com (test-1.domain2.com), сертификат самоподписывается traefik.

Может кто-нибудь указать мне правильное направление, чтобы правильно настроить оба домена, работающие с Let's Encrypt?


person Chris L.    schedule 14.02.2018    source источник
comment
Я нахожусь в аналогичной ситуации, пытаясь понять, почему я получаю самоподписанный сертификат 883221dacd1d860cf85fdfe7bab3.456c20683ebfb7b0780025d8171.traefik.default   -  person stratosgear    schedule 14.02.2018


Ответы (2)


Извините, по поводу недостоверной информации. Из-за моей сложной среды мой предыдущий тест был неправильным, и мой ответ на ваш предыдущий ответ неверен.

Я действительно проверяю, что при переходе на dnsChallenge создается и правильно используется новый сертификат для другого домена. Спасибо, что указали мне правильное направление.

person stratosgear    schedule 16.02.2018

Итак, просмотр журналов показал:

traefik_1  | time="2018-02-15T13:15:35Z" level=debug msg="Look for provided certificate to validate [test-1.domain2.com]..."
traefik_1  | time="2018-02-15T13:15:35Z" level=debug msg="No provided certificate found for domains [test-1.domain2.com], get ACME certificate."
traefik_1  | time="2018-02-15T13:15:35Z" level=debug msg="Challenge GetCertificate test-1.domain2.com"
traefik_1  | time="2018-02-15T13:15:35Z" level=debug msg="ACME got nothing test-1.domain2.com"

а также

traefik_1  | time="2018-02-15T13:14:58Z" level=debug msg="Loading ACME certificates [test-1.domain2.com]..."
traefik_1  | time="2018-02-15T13:14:59Z" level=error msg="map[test-1.domain2.com:[test-1.domain2.com] acme: Could not determine solvers]"
traefik_1  | time="2018-02-15T13:14:59Z" level=error msg="Error getting ACME certificates [test-1.domain2.com] : Cannot obtain certificates map[test-1.domain2.com:[test-1.domain2.com] acme: Could not determine solvers]+v"

Что привело меня к https://community.letsencrypt.org/t/2018-01-09-issue-with-tls-sni-01-and-shared-hosting-infrastructure/49996, где вы можете прочитать , что проверка TLS-SNI-01 в Let's Encrypt была отключена из соображений безопасности.

Вы можете использовать вызов DNS (https://docs.traefik.io/configuration/acme/#dnsprovider) должен работать (еще не тестировал)

person Chris L.    schedule 15.02.2018
comment
Хороший улов! К сожалению, переход на dnsChallenge не, похоже, решает мою проблему. Дайте мне знать, если вам повезет больше! - person stratosgear; 15.02.2018
comment
Привет - ссылка на запрос DNS не работает. Не могли бы вы поделиться своим обновленным файлом traefik.toml с DNS-вызовом? Я столкнулся с аналогичной проблемой для своей установки. - person mathee; 12.08.2020