Nginx上推荐的最大client_max_body_size值

Dri*_*ico 1 nginx server

client_max_body_sizeNginx上上传大文件的最大建议值是多少?

我现在正在使用的网络应用程序预期上传的最大大小为100mb。我应该设置client_max_body_size为150mb左右以在单个请求中上传还是执行切片策略并将1mb的块发送到服务器以保持client_max_body_size较低水平?

Tar*_*ani 5

这是一个主观的东西,并取决于用例。因此,您应该问自己的问题就是What is the max size beyond which you don't want to allow an upload使用它。

接下来,人们犯的错误是他们刚刚设置

client_max_body_size 150M;
Run Code Online (Sandbox Code Playgroud)

nginx服务器块的配置中。这实际上是错误的,因为您不想让人们能够向每个人和每个URL上传150M数据。您将具有要允许其上传的特定URL。所以你应该有如下位置

location /upload/largefileupload {
   client_max_body_size 150M;
}
Run Code Online (Sandbox Code Playgroud)

对于其余网址,您可以将其保持在最低水平2MB。这样,您将不太容易受到一般的ddos攻击(大型机体上载攻击)。请参阅以下网址

https://www.tomaz.me/2013/09/15/avoiding-ddos-attacks-caused-by-large-http-request-bodies-by-enforcing-a-hard-limit-in-your-web- server.html