Traefik:无法使用摘要身份验证登录服务

Posted

技术标签:

【中文标题】Traefik:无法使用摘要身份验证登录服务【英文标题】:Traefik: Cannot login to service with digest authentication 【发布时间】:2020-01-21 15:57:27 【问题描述】:

我正在尝试使用 Traefik 将代理反向代理到使用摘要身份验证的服务。

当我在 docker-compose 中公开服务后直接通过其端口访问服务时,它工作正常,但是当我通过 Traefik 访问它时,登录弹出窗口不断出现,因为返回了 401。

我还查看了 Traefik 中间件,但我认为它只是添加摘要身份验证,而不是与已经拥有它的服务一起使用。

我必须如何配置 Traefik 才能解决这个问题?

工作 docker-compose:

version: "3"

services:
  service:
    image: service:tag
    cap_add:
      - NET_ADMIN
    ports:
      - "8082:8082/tcp"

docker-compose 与 traefik 一起使用:

version: "3"

networks:
  web:
    external: true
  internal:
    external: false

services:
  service:
    image: service:tag
    cap_add:
      - NET_ADMIN
    labels:
      - traefik.api.frontend.rule=Host:domain.com
      - traefik.docker.network=web
      - traefik.port=8082
    networks:
      - internal
      - web
    ports:
      - "1194:1194/udp"

还有 traefik.toml:

logLevel = "DEBUG"

defaultEntryPoints = ["http"]

[entryPoints]
  [entryPoints.dashboard]
    address = ":8080"
    [entryPoints.dashboard.auth]
      [entryPoints.dashboard.auth.basic]
        users = ["user:hash"]

  [entryPoints.http]
    address = ":80"

[api]
entrypoint="dashboard"

[docker]
domain = "domain.com"
watch = true
network = "web"

我是这样开始 traefik 的:

docker run -d -v /var/run/docker.sock:/var/run/docker.sock -v $PWD/traefik.toml:/traefik.toml -p 80:80 -l traefik.frontend.rule=Host:monitor.domain.com -l traefik.port=8080 --network web --name traefik traefik:1.7.2-alpine

然后是服务:

docker-compose up

除身份验证外,一切正常。

【问题讨论】:

【参考方案1】:

这似乎是 Traefik 中的一个错误:https://github.com/containous/traefik/issues/4281

【讨论】:

以上是关于Traefik:无法使用摘要身份验证登录服务的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server2005 windows身份验证无法登陆问题

使用集成 Windows 身份验证接收登录提示

使用 Symfony 框架在生产服务器上的用户登录失败(身份验证请求无法处理,因为...)

使用Symfony框架在生产服务器上登录失败(由于...无法处理身份验证请求)

Apache http 客户端示例无法进行摘要式身份验证

当摘要认证开启时,Gatling 测试失败