Промежуточное ПО ForwardAuth не работает в Traefik как шлюз API - PullRequest
1 голос
/ 13 мая 2019

Я пытаюсь запустить Traefik в качестве шлюза API и хочу запустить промежуточное программное обеспечение ForwardAuth с помощью следующего файла компоновки Docker, но промежуточное программное обеспечение для конечной точки аутентификации не используется. Я использую его с localhost.

version: '3'

services:
  reverse-proxy:
    image: traefik # The official Traefik docker image
    command: --api --docker # Enables the web UI and tells Traefik to listen to docker
    ports:
      - "80:80"     # The HTTP port
      - "8080:8080" # The Web UI (enabled by --api)
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen to the Docker events
      - $PWD/traefik.toml:/traefik.toml     

  whoami:
    image: emilevauge/whoami
    labels:
      - traefik.enable=true
      - "traefik.frontend.rule=Host:whoami.docker.localhost"
      - "traefik.http.middlewares.test-redirectscheme.redirectscheme.scheme=https"
      - "traefik.http.middlewares.test-replacepath.replacepath.path=/foo"
      - "traefik.http.middlewares.testauth.ForwardAuth.Address=http://localhost:55391/api/Auth"

1 Ответ

0 голосов
/ 25 июля 2019

Я тоже некоторое время боролся с этим и не мог найти ответа нигде, кроме как достаточно скрытого в документах Traefik. Документы ForwardAuth на самом деле не упоминают об этом, но, глядя на пример конфигурации обзора промежуточного программного обеспечения Я неожиданно заметил, что вам нужно не только указать промежуточное программное обеспечение, вы также должны применить его к роутер.

Добавление этой метки к whoami сервису должно помочь:

- "traefik.http.routers.whoami.middlewares=testauth"

Обратите внимание, что вы также можете указать несколько промежуточных программ здесь, разделяя их запятыми, чтобы вы могли добавить другие промежуточные программы, которые вы определили следующим образом:

- "traefik.http.routers.whoami.middlewares=testauth,test-redirectscheme,test-replacepath"
...