Пример конфигурации Traefik API с использованием wildcard-сертификатов и HTTP имени пользователя/пароля (basic auth)

На основе нашего предыдущего поста Простая настройка Traefik docker-compose с Lets Encrypt Cloudflare DNS-01 и TLS-ALPN-01 и HTTP-01 challenges это конфигурация TOML, которую я использую для разрешения доступа к панели управления Traefik через HTTPS и мой wildcard-сертификат Let’s encrypt. В этом примере она будет доступна по адресу traefik.mydomain.com. Поместите конфигурацию в /opt/traefik/conf/api.toml, предполагая, что вы настроили Traefik на основе нашего примера.

traefik_api.toml
[http.routers.traefik-api]
rule = "Host(`traefik.mydomain.com`)"
service = "api@internal"
middlewares = ["auth"]
[http.routers.traefik-api.tls]
certresolver = "cloudflare"
[[http.routers.traefik-api.tls.domains]]
main = "mydomain.com"
sans = ["*.mydomain.com"]

[http.middlewares.auth.basicAuth]
users = [
  "admin:$apr1$ocvmQb0w$Bwlbz3V2VVRZlcu46X0zK0",
]

Создайте новую строку пароля с помощью htpasswd:

generate_htpasswd.sh
htpasswd -n admin

При запросе введите пароль, а затем скопируйте пароль, например admin:$apr1$ocvmQb0w$Bwlbz3V2VVRZlcu46X0zK0, в секцию [http.middlewares.auth.basicAuth]:

traefik_basic_auth_snippet.txt
[http.middlewares.auth.basicAuth]
users = [
  "COPY IT HERE"
]

Это должно выглядеть как наш полный пример выше.


Check out similar posts by category: Traefik