Вчера я перевел свой Traefik с 1.7 на 2.1, у меня есть прямая аутентификация (oauth), работающая для всех моих docker сервисов. Я не могу заставить два маршрутизатора работать для одной и той же службы.
Давайте возьмем Таутулли в качестве примера. Веб-интерфейс теперь правильно защищен, используя oauth. Однако для того, чтобы приложение Tautulli remote iOS работало, необходимо указать / api PathPrefix, используя вместо этого более простой базовый c auth.
Ниже я определяю два маршрутизатора с различным приоритетом и различным промежуточным программным обеспечением. Но https://tautulli.[DOMAINNAME]/api/v2?apikey?xxxx
всегда перенаправляет меня на oauth-логин; tautulli-api-rtr
маршрутизатор, похоже, не сработал.
tautulli:
image: linuxserver/tautulli
container_name: tautulli
hostname: tautulli
restart: unless-stopped
networks:
- t2_proxy
volumes:
- ${USERDIR}/docker/tautulli/config:/config
- ${USERDIR}/docker/tautulli/logs:/logs:ro
environment:
PUID: ${PUID}
PGID: ${PGID}
TZ: ${TZ}
labels:
- "traefik.enable=true"
## DEFAULT ROUTER
## HTTP Routers
- "traefik.http.routers.tautulli-rtr.entrypoints=https"
- "traefik.http.routers.tautulli-rtr.priority=1"
- "traefik.http.routers.tautulli-rtr.rule=Host(`tautulli.$DOMAINNAME`)"
- "traefik.http.routers.tautulli-rtr.tls=true"
- "traefik.http.routers.tautulli-rtr.tls.certresolver=dns-cloudflare"
## Middlewares
- "traefik.http.routers.tautulli-rtr.middlewares=secure-chain@file"
## HTTP Services
- "traefik.http.routers.tautulli-rtr.service=tautulli-svc"
- "traefik.http.services.tautulli-svc.loadbalancer.server.port=8181"
## API ROUTER - not working, secure-chain@file middlewares still applied...
## HTTP Routers
- "traefik.http.routers.tautulli-api-rtr.entrypoints=https"
- "traefik.http.routers.tautulli-api-rtr.priority=99"
- "traefik.http.routers.tautulli-api-rtr.rule=Host(`tautulli.$DOMAINNAME`) && PathPrefix(`/api`)"
- "traefik.http.routers.tautulli-api-rtr.tls=true"
- "traefik.http.routers.tautulli-api-rtr.tls.certresolver=dns-cloudflare"
## Middlewares
- "traefik.http.routers.tautulli-api-rtr.middlewares=noauth-chain@file"
## HTTP Services
- "traefik.http.routers.tautulli-api-rtr.service=tautulli-svc"
Промежуточное программное обеспечение определено в этом превосходном github:
https://github.com/htpcBeginner/docker-traefik/tree/master/traefik2/rules!
Благодарим за любую помощь или альтернативное решение!