Estoy tratando de ejecutar Traefik como una puerta de enlace API y quiero activar el middleware ForwardAuth usando el siguiente archivo de composición de la ventana acoplable, pero el punto final de autenticación del middleware no está siendo alcanzado. Lo estoy usando con 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"También estuve luchando con esto por un tiempo, y no pude encontrar una respuesta en ningún otro lugar que no fuera bastante escondido en los documentos de Traefik. Los documentos de ForwardAuth en realidad no mencionan esto, pero al ver el ejemplo de configuración de descripción general de middlewares , de repente me di cuenta de que no solo tiene que especificar el middleware, sino que también debe aplicarlo al enrutador.
Agregar esta etiqueta al servicio whoami debería funcionar:
- "traefik.http.routers.whoami.middlewares=testauth"Tenga en cuenta que también puede especificar varios middlewares aquí, separándolos con comas, por lo que podría agregar los otros middlewares que definió así:
- "traefik.http.routers.whoami.middlewares=testauth,test-redirectscheme,test-replacepath"