【发布时间】:2018-12-06 17:24:58
【问题描述】:
Nginx 上传大文件时client_max_body_size 的最大推荐值是多少?
我现在正在使用的网络应用预计最大上传 100mb。我应该将 client_max_body_size 设置为 150mb 以在单个请求中上传还是执行切片策略并将 1mb 的块发送到服务器以保持 client_max_body_size 低?
【问题讨论】:
Nginx 上传大文件时client_max_body_size 的最大推荐值是多少?
我现在正在使用的网络应用预计最大上传 100mb。我应该将 client_max_body_size 设置为 150mb 以在单个请求中上传还是执行切片策略并将 1mb 的块发送到服务器以保持 client_max_body_size 低?
【问题讨论】:
这是一个主观的事情,取决于用例。所以你应该问自己的问题是What is the max size beyond which you don't want to allow an upload 然后使用它。
接下来人们犯的错误是他们只是设置了
client_max_body_size 150M;
在服务器块的nginx 配置中。这实际上是错误的,因为您不想让人们能够将 150M 的数据上传给每个人以及每个 url。您将拥有一个允许上传的特定 URL。所以你应该有如下位置
location /upload/largefileupload {
client_max_body_size 150M;
}
对于其他 url,您可以将其保持在低至 2MB。这样,您将不太容易受到通用 ddos 攻击(大型主体上传攻击)的影响。见下面网址
【讨论】: