跳到正文
Træfɪk

HTTP 中间件概览

中间件挂载到路由器或服务上,可以在请求发送给后端服务器之前(或响应发送给客户端之前)对其进行调整。

中间件可以挂载到两个层级:

  • 路由器层级:在请求转发到服务之前,应用于所有匹配路由器规则的请求。
  • 服务层级:应用于服务处理的所有请求,无论请求由哪个路由器转发。参阅服务中间件。

两者都配置时,先执行路由器中间件,再执行服务中间件。

Traefik 提供多种中间件:有的修改请求和头,有的负责重定向,有的添加认证,等等。

使用相同协议的中间件可以组合成链,适应各种场景。

提供者命名空间

请留意配置发现一节中介绍的提供者命名空间概念。 该概念同样适用于中间件。

可用的 HTTP 中间件

中间件 用途 类别
AddPrefix 添加路径前缀 路径修改
BasicAuth 添加基本认证 安全、认证
Buffering 缓冲请求和响应 请求生命周期
Chain 组合多个中间件 其他
CircuitBreaker 避免调用不健康的服务 请求生命周期
Compress 压缩响应 内容修改
ContentType 处理 Content-Type 自动检测 其他
DigestAuth 添加摘要认证 安全、认证
EncodedCharacters 定义请求路径中允许的保留编码字符 安全、请求生命周期
Errors 定义自定义错误页面 请求生命周期
ForwardAuth 委托认证 安全、认证
GrpcWeb 将 gRPC Web 请求转换为 HTTP/2 gRPC 请求 请求
Headers 添加或更新头 安全
IPAllowList 限制允许的客户端 IP 安全、请求生命周期
InFlightReq 限制同时连接的数量 安全、请求生命周期
PassTLSClientCert 在头中添加客户端证书 安全
RateLimit 限制调用频率 安全、请求生命周期
RedirectScheme 根据协议方案重定向 请求生命周期
RedirectRegex 根据正则表达式重定向 请求生命周期
ReplacePath 修改请求路径 路径修改
ReplacePathRegex 修改请求路径 路径修改
Retry 发生错误时自动重试 请求生命周期
StripPrefix 修改请求路径 路径修改
StripPrefixRegex 修改请求路径 路径修改

社区中间件

欢迎查看插件目录中的社区贡献插件。


在生产环境使用 Traefik OSS?

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

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


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

文档由 HeadFile Studio 翻译。

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