Я пытаюсь использовать Traefik для обращения прокси к службе, использующей дайджест-проверку подлинности.
Когда я получаю доступ к службе напрямую через ее порт после предоставления ее в docker -композиции, она работает нормально, но когда Я получаю к нему доступ через Traefik, всплывающее окно с логином продолжает появляться, потому что возвращается 401.
Я также взглянул на промежуточное ПО Traefik, но я думаю, что оно только для добавления дайджест-аутентификации, а не для использования со службами, которые уже есть.
Как мне настроить Traefik для решения этой проблемы?
Работает docker -составить:
version: "3"
services:
service:
image: service:tag
cap_add:
- NET_ADMIN
ports:
- "8082:8082/tcp"
docker -создать используется с traefik:
version: "3"
networks:
web:
external: true
internal:
external: false
services:
service:
image: service:tag
cap_add:
- NET_ADMIN
labels:
- traefik.api.frontend.rule=Host:domain.com
- traefik.docker.network=web
- traefik.port=8082
networks:
- internal
- web
ports:
- "1194:1194/udp"
и traefik.toml:
logLevel = "DEBUG"
defaultEntryPoints = ["http"]
[entryPoints]
[entryPoints.dashboard]
address = ":8080"
[entryPoints.dashboard.auth]
[entryPoints.dashboard.auth.basic]
users = ["user:hash"]
[entryPoints.http]
address = ":80"
[api]
entrypoint="dashboard"
[docker]
domain = "domain.com"
watch = true
network = "web"
Я запускаю traefik следующим образом:
docker run -d -v /var/run/docker.sock:/var/run/docker.sock -v $PWD/traefik.toml:/traefik.toml -p 80:80 -l traefik.frontend.rule=Host:monitor.domain.com -l traefik.port=8080 --network web --name traefik traefik:1.7.2-alpine
, а затем сервис с:
docker-compose up
Все отлично работает, кроме аутентификации.