Skip to content

Traefik Chain 中间件文档

Chain(中间件链)

chain 中间件可以让你定义可重用的其它中间件组合。它使重复使用同一组中间件变得轻而易举。

配置示例

下面是一个包含 AllowListBasicAuthRedirectScheme 的 Chain 示例。

YAML 格式:

yaml
http:
  routers:
    router1:
      service: service1
      middlewares:
        - secured
      rule: "Host(`mydomain`)"

  middlewares:
    secured:
      chain:
        middlewares:
          - https-only
          - known-ips
          - auth-users

    auth-users:
      basicAuth:
        users:
          - "test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/"

    https-only:
      redirectScheme:
        scheme: https

    known-ips:
      ipAllowList:
        sourceRange:
          - "192.168.1.7"
          - "127.0.0.1/32"

  services:
    service1:
      loadBalancer:
        servers:
          - url: "http://127.0.0.1:80"

Kubernetes 格式:

yaml
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
  name: secured
spec:
  chain:
    middlewares:
      - name: https-only
      - name: known-ips
      - name: auth-users

---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
  name: auth-users
spec:
  basicAuth:
    users:
      - "test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/"

---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
  name: https-only
spec:
  redirectScheme:
    scheme: https

---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
  name: known-ips
spec:
  ipAllowList:
    sourceRange:
      - "192.168.1.7"
      - "127.0.0.1/32"

配置选项

字段描述默认值必填
middlewares要按顺序执行的中间件列表。-

提示

中间件按指定顺序执行。在上面的示例中,请求将首先经过 https-only,然后是 known-ips,最后是 auth-users


在生产环境使用 Traefik OSS?

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

基于 MIT 协议发布