我是Traefik的新手。
我刚刚使用简单的身份验证服务器实现了Traefik ForwardAuth
。
看来Traefik ForwardAuth
只能管理服务,而不能管理服务中的API。
举个例子:
有一个带有3个API的服务SVC:testAPI_1
,testAPI_2
,testAPI_3
。
Traefik ForwardAuth
仅可以控制谁可以访问服务SVC,而不能控制谁应该访问testAPI_1
,谁不应该访问testAPI_2
。
Traefik可以管理API的授权/身份验证吗?
这是docker-compose.yml
中我的服务设置:
whoami:
# A container that exposes an API to show its IP address
image: containous/whoami
networks:
- my-net
labels:
# set middleware
- "traefik.http.middlewares.test-auth.forwardauth.address=http://auth-server/whoami"
- "traefik.http.middlewares.test-auth.forwardauth.trustForwardHeader=true"
- "traefik.http.middlewares.test-auth.forwardauth.authResponseHeaders=X-Client-ID"
- "traefik.http.routers.whoami.middlewares=test-auth@docker"
- "traefik.http.routers.whoami.rule=Path(`/whoami`)"
非常感谢您提供的帮助!