Skip to content

Authentik 前向认证中间件

Traefik 允许您通过使用 代理提供者 为应用程序添加身份验证保护。 这使您可以使用单点登录 (SSO) 保护您的服务。

配置 Authentik 应用程序和代理提供者

第一步是部署 Authentik 服务,然后配置所需的组件:

  • 创建一个带有前向认证的代理提供者。
  • 创建一个应用程序并分配您创建的代理提供者。
  • 在 "Cookie 域" 字段中,添加服务的域名。

创建 Traefik 配置

下一步是将 Traefik 中间件配置添加到实例的动态配置中。

AUTHENTIK_SERVER_HOST 替换为您的实例名称,例如 authentik-server-ncoc0ooog0ckwc0gwgoocgs8

yaml
http:
  middlewares:
    authentik-auth:
      forwardAuth:
        address: 'http://AUTHENTIK_SERVER_HOST:9000/outpost.goauthentik.io/auth/traefik'
        trustForwardHeader: true
        authResponseHeaders:
          - X-authentik-username
          - X-authentik-groups
          - X-authentik-entitlements
          - X-authentik-email
          - X-authentik-name
          - X-authentik-uid
          - X-authentik-jwt
          - X-authentik-meta-jwks
          - X-authentik-meta-outpost
          - X-authentik-meta-provider
          - X-authentik-meta-app
          - X-authentik-meta-version

保护服务

要保护服务,必须将 Traefik 中间件标签添加到容器的 Docker Compose 配置中:

yaml
services:
  privatebin:
    image: privatebin/nginx-fpm-alpine
    environment:
      - SERVICE_FQDN_PRIVATEBIN_8080
    volumes:
      - 'privatebin_data:/srv/data'
    healthcheck:
      test:
        - CMD-SHELL
        - 'wget -qO- http://127.0.0.1:8080/'
      interval: 5s
      timeout: 20s
      retries: 10
    labels:
      - traefik.http.middlewares.authentik-auth@file