【问题标题】:Traefik Basic AuthTraefik 基本认证
【发布时间】:2020-05-31 13:23:08
【问题描述】:

我最近开始在 Docker 中使用 Traefik,我必须说它很棒。我现在遇到的问题是,当我将基本的身份验证中间件应用到我的 Traefik 仪表板然后去加载仪表板时,它会不断提示我输入用户名和密码,而且我永远无法进入仪表板。但是,如果没有基本身份验证,它可以正常工作,我可以很好地加载我的仪表板。请问有人可以帮忙吗?在过去的几天里,它一直让我发疯。请在下面查看我的示例。 (注意密码哈希我在开始时尝试了有和没有额外的美元符号,但都不起作用)。提前谢谢你。

我的 Docker 撰写文件:

version: '3'
services:
  traefik:
    image: "traefik:v2.2"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /home/user/traefik/traefik.yml:/etc/traefik/traefik.yaml:ro
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.api.rule=Host(`traefik.com`)"
      - "traefik.http.routers.api.entrypoints=insecure"
      - "traefik.http.routers.api.service=api@internal"
      - "traefik.http.routers.api.middlewares=api-auth"
      - "traefik.http.middlewares.api-auth.basicauth.users=admin:$$..."
networks:
  default:
    external:
      name: "web"

我的 Traefik.yml 文件

providers:
  docker:
    endpoint: "unix:///var/run/docker.sock"
    network: "web" # Custom docker network
    exposedByDefault: false 

entryPoints:
  insecure:
    address: ":80"
  secure:
    address: ":443"

api:
  dashboard: true

【问题讨论】:

    标签: docker docker-compose traefik


    【解决方案1】:

    似乎与哈希密码有关。 所有$ 标志必须被另一个$ 转义,而不是开头的第一个。 此外,并不是每个加密函数都被处理。 尝试使用以下代码生成密码:echo $(htpasswd -nb user password) | sed -e s/\\$/\\$\\$/g,如 https://docs.traefik.io/middlewares/basicauth/#users 中所示

    【讨论】:

    • 谢谢,这确实是我在另一个论坛上发帖时发现的问题。有几个 $ 符号需要在哈希中转义,然后它就完美地工作了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    相关资源
    最近更新 更多