【问题标题】:How to setup basic auth globally in traefik v2?如何在 traefik v2 中全局设置基本身份验证?
【发布时间】:2020-01-08 10:16:17
【问题描述】:

我正在使用 traefik 2.1 并且想为所有容器设置基本身份验证,在 1.x 中很容易做到:

    [entryPoints.http.auth.basic]
    usersFile = "/etc/traefik/.htpasswd"

但是如何在 2.x 中设置它?我想避免在我的所有 docker-compose.yml 文件中插入代码 - 有很多。

【问题讨论】:

    标签: docker docker-compose reverse-proxy traefik http-proxy


    【解决方案1】:

    主要思想是:

    请查找docker-compose.yml的示例

    version: '3.7'
    
    services:
      traefik:
        image: "traefik:v2.2.1"
      command:
        - "--api.insecure=true"
        - "--providers.docker=true"
        - "--providers.docker.exposedbydefault=false"
        - "--providers.docker.network=default"
        - "--entrypoints.web.address=:80"
        - "--api"
      volumes:
        - "/var/run/docker.sock:/var/run/docker.sock:ro"
      ports:
        - 80:80
        # management console
        - 8080:8080
      labels:
        - "traefik.enable=true"
        - "traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)"
        - "traefik.http.routers.http-catchall.entrypoints=web"
        # auth middleware with user / password
        - "traefik.http.middlewares.my-auth.basicauth.users=test:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/,test2:$$apr1$$d9hr9HBB$$4HxwgUir3HP4EsggP/QNo0"
    
      whoami:
        image: "containous/whoami"
        labels:
          - "traefik.enable=true"
          - "traefik.http.routers.whoami.rule=Host(`whoami.localhost`)"
          - "traefik.http.routers.whoami.entrypoints=web"
          # connect your auth middleware to a service which you want to protect
          - "traefik.http.routers.whoami.middlewares=my-auth"
    

    所以,现在我们可以检查一下:

    您应该使用htpasswd 命令生成用户列表并根据 Traefik 文档进行连接。

    就是这样。快乐编码 ;)

    【讨论】:

    • 您知道是否可以将特定中间件的附件声明到所有路由器/服务,而不是为每个路由器/服务添加特定中间件(图像您不仅拥有 whoami 服务,而是其他几个需要完全相同的中间件)?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-06
    • 1970-01-01
    相关资源
    最近更新 更多