除少数几个容器外,所有容器都需要基本身份验证的最佳方法是什么?
类似于仍在等待答案的this question。
答案 0 :(得分:1)
你不能这样做,你需要在每个前端添加基本身份验证。
https://docs.traefik.io/configuration/backends/docker/#on-containers
答案 1 :(得分:0)
您可以使用traefik标签将auth仅添加到某些容器中。例如:
两个容器堆叠在一起,其中一个具有以下标签:
"traefik.frontend.auth.basic=user:$$apr1$$9Cv/OMGj$$ZomWQzuQbL.3TRCS81A1g/"
另一个没有。访问第一个容器将需要对用户user
进行身份验证。另一个将打开。
参考:https://docs.traefik.io/configuration/backends/docker/#on-containers
答案 2 :(得分:0)
通过标签将基本的身份验证标签添加到您的traefik容器中
labels:
# Basic Auth middleware
- traefik.http.middlewares.YOUR_AUTH_MIDDLEWARE_NAME.basicauth.users=${TRAEFIK_BASICAUTH_USERS}
然后,可以在其他容器中通过标签添加相同的中间件:
labels:
- traefik.enable=true
- traefik.port=80
- traefik.http.routers.YOUR_ROUTER_NAME.rule=Host(`subdomain.domain.com`)
- traefik.http.routers.YOUR_ROUTER_NAME.entryPoints=websecure
- traefik.http.routers.YOUR_ROUTER_NAME.middlewares=YOUR_AUTH_MIDDLEWARE_NAME # <- this enables basic auth, using the same users
对于不应该具有基本身份验证的容器,只需删除最后一个标签