如何在traefik中配置上传体型限制?

Aga*_*gas 5 traefik

我正在使用traefik docker image v1.5,当我尝试上传一个大文件(如1GB)时,traefik会关闭连接并记录: exceeding the max size 4194304 那么有没有办法修改/删除这个默认限制?

Nic*_*owe 4

Traefik 使用缓冲中间件,让您可以控制在将请求发送到服务之前如何读取请求。

通过缓冲,Traefik 将整个请求读取到内存中(可能将大型请求缓冲到磁盘中),并拒绝超过指定限制的请求。

这可以帮助服务处理大数据(例如多部分/表单数据),并可以最大限度地减少向服务发送数据所花费的时间。

配置示例:

[backends]
  [backends.backend1]
    [backends.backend1.buffering]
      maxRequestBodyBytes = 10485760  
      memRequestBodyBytes = 2097152  
      maxResponseBodyBytes = 10485760
      memResponseBodyBytes = 2097152
      retryExpression = "IsNetworkError() && Attempts() <= 2"
Run Code Online (Sandbox Code Playgroud)

使用 maxRequestBodyBytes 选项,您可以配置请求允许的最大正文大小(以字节为单位)。

如果请求超出允许的大小,则不会将其转发到服务,并且客户端会收到 413(请求实体太大)响应。

Traefik 缓冲文档