跳到正文
Træfɪk

Content-Length

Traefik 以流式代理方式工作。默认情况下,将数据传递给后端或客户端时,它会根据 Content-Length 消息头逐块检查数据。 这种实时检查无需持有整条消息,就能阻止被截断或超长的数据流。

如果需要 Traefik 在转发任何数据之前先读取并验证完整消息体,请添加缓冲中间件:

http:
  middlewares:
    buffer-and-validate:
      buffering: {}

启用缓冲后,Traefik 会:

  • 将整个请求或响应读入内存。
  • 比较实际字节数与 Content-Length 消息头声明的长度。
  • 如果长度不一致,则拒绝该消息。

警告

缓冲会带来额外开销。每个请求和响应都要在完整接收后才会转发,这可能增加内存使用量和延迟。 请在严格的内容验证对于安全防护至关重要时使用它。


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

文档由 HeadFile Studio 翻译。

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