У меня есть рабочая конфигурация для конечной точки метрики prometheus позади самого обратного прокси-сервера Traefik без использования небезопасной конфигурации (хотя и с использованием файла конфигурации toml) - не совсем уверен, что именно этого вы хотите достичь.
Итак, из приведенного выше примера конфигурации, насколько я понимаю, вам не хватает некоторых вещей.
Сначала вы настроили метрики prometheus для использования «метрик» точки входа, поэтому вам нужно настроить точку входа, называемую метриками, враздел CLI, например, такой:
- "--entrypoints.metrics.address=:8082"
Если вы хотите получить доступ к конечной точке метрик через TLS (завершается самой traefik) и использовать базовую аутентификацию, вам нужна конфигурация и служба маршрутизатора для конечной точки метрик, какметки, например, как показано ниже (в дополнение к вашей конфигурации конечной точки API):
- "traefik.http.routers.metrics.rule=PathPrefix(`/metrics`)"
- "traefik.http.routers.metrics.rule=Host(`foo.bar`)"
- "traefik.http.routers.metrics.tls=true"
- "traefik.http.routers.metrics.tls.certResolver=sec"
- "traefik.http.routers.metrics.service=metrics"
- "traefik.http.routers.metrics.middlewares=myauth"
- "traefik.http.services.metrics.loadbalancer.server.port=8082"
Кроме того, мне нужно было настроить сеть роя Docker следующим образом (в противном случае я получаю тайм-аут 503 шлюза):
- "traefik.docker.network=proxy"
(прокси мой оверлейсеть, соединяющая traefik и все сервисы, для которых Traefik будет обратным прокси.)
Надеюсь, это поможет ...