Traefik Chain 中间件文档
Chain(中间件链)
chain 中间件可以让你定义可重用的其它中间件组合。它使重复使用同一组中间件变得轻而易举。
配置示例
下面是一个包含 AllowList、BasicAuth 和 RedirectScheme 的 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 的商业支持。