跳到正文
Træfɪk

DigestAuth

DigestAuth 中间件只允许经过授权的用户访问服务。

配置示例

# Declaring the user list
http:
  middlewares:
    test-auth:
      digestAuth:
        users:
          - "test:traefik:a2688e031edb4be6a3797f3882655c05"
          - "test2:traefik:518845800f9e2bfb1f1f740ec24f074e"
# Declaring the user list
[http.middlewares]
  [http.middlewares.test-auth.digestAuth]
    users = [
      "test:traefik:a2688e031edb4be6a3797f3882655c05",
      "test2:traefik:518845800f9e2bfb1f1f740ec24f074e",
    ]
# Declaring the user list
labels:
  - "traefik.http.middlewares.test-auth.digestauth.users=test:traefik:a2688e031edb4be6a3797f3882655c05,test2:traefik:518845800f9e2bfb1f1f740ec24f074e"
// Declaring the user list
{
  //...
  "Tags" : [
    "traefik.http.middlewares.test-auth.digestauth.users=test:traefik:a2688e031edb4be6a3797f3882655c05,test2:traefik:518845800f9e2bfb1f1f740ec24f074e"
  ]
}
# Declaring the user list
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
  name: test-auth
spec:
  digestAuth:
    secret: userssecret

配置选项

字段 说明 默认值 必填
users 授权用户数组。每个用户必须使用 name:realm:encoded-password 格式声明。
users 选项支持 Kubernetes Secret。
(更多信息见此处)
[] 否
usersFile 包含此中间件授权用户的外部文件路径。
文件内容是 name:realm:encoded-password 列表。(更多信息见此处)
"" 否
realm 允许自定义认证域。 "traefik" 否
headerField 允许定义用于存储已认证用户的请求头字段。 "" 否
removeHeader 允许在将请求转发给服务之前移除认证请求头。 false 否

密码格式

使用 htdigest 生成密码。

users 与 usersFile

  • 如果同时提供 users 和 usersFile,两者将合并。users 中的值优先于 usersFile 中的内容。
  • 由于在 Kubernetes 中无法引用文件路径,因此 Kubernetes IngressRoute 不使用 users 和 usersFile 字段,而应使用 secret 字段。

Kubernetes Secret 资源

在 Kubernetes 上不使用 users 或 usersFile 字段,而是在 Middleware 资源中通过 secret 字段引用 Kubernetes Secret。此 Secret 可以是以下两种类型之一:

  • kubernetes.io/basic-auth secret:此 Secret 类型包含 username 和 password 两个键,但通常适用于用户数量较少的情况。请注意,这些键没有经过任何哈希或加密处理,因此安全性低于另一种方式。
  • 带有 users 字段的 Opaque Secret:此 Secret 包含一个字符串字段(通常名为 users),每行表示一个用户。这种方式可以在一个 Secret 中存储多个用户。

在生产环境使用 Traefik OSS?

如果你在工作中使用 Traefik,可以考虑为 Traefik OSS 增加企业级 API 网关能力或商业支持。

为 Traefik OSS 增加 API 网关能力快捷且平滑,无需推倒重来,现有配置也会完整保留。请通过这个简短视频了解实际效果。


版权所有 © 头文件软件工作室

文档由 HeadFile Studio 翻译。

Traefik v3.7 中文快照 · 原文版权归 Traefik Labs 及贡献者所有 · MIT 许可证