首页 > 系统相关 >【教学典型案例】28.生产环境nginx限制上传大小

【教学典型案例】28.生产环境nginx限制上传大小

时间:2023-03-11 19:32:06浏览次数:37  
标签:body http 28 server nginx client 上传 size


目录

  • ​​一:背景介绍​​
  • ​​二:Nginx限制上传大小​​
  • ​​1、Nginx官方文档说明​​
  • ​​2、设置参数​​
  • ​​1)、在server模块中设置​​
  • ​​2)、在http模块中设置​​
  • ​​三:问题分析过程​​
  • ​​四:总结​​

一:背景介绍

二:Nginx限制上传大小

1、Nginx官方文档说明

Syntax: client_max_body_size size;

Default: client_max_body_size 1m;

Context: http, server, location

Sets the maximum allowed size of the client request body, specified in the “Content-Length” request header field. If the size in a request exceeds the configured value, the 413 (Request Entity Too Large) error is returned to the client. Please be aware that browsers cannot correctly display this error. Setting size to 0 disables checking of client request body size.

①client_max_body_size 用来修改允许客户端上传文件的大小。默认为1m,如果设置为0,表示上传文件大小不受限制。
②可以在以下模块设置: http, server, location
③client_max_body_size 10m;

2、设置参数

1)、在server模块中设置

server {
listen 80;
server_name localhost;
#charset koi8-r;

# client_max_body_size 用来修改允许客户端上传文件的大小。默认为1m,如果设置为0,表示上传文件大小不受限制。
# 可以在以下模块设置: http, server, location
client_max_body_size 10m;

# 访问 / 网站跟目录返回的内容
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}

...
}

2)、在http模块中设置

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;

sendfile on;
#tcp_nopush on;

keepalive_timeout 65;

# 是否开启压缩功能
#gzip on;

# client_max_body_size 用来修改允许客户端上传文件的大小。默认为1m,如果设置为0,表示上传文件大小不受限制。
# 可以在以下模块设置: http, server, location
client_max_body_size 10m;

# 引用配置文件
include /etc/nginx/conf.d/*.conf;
}

三:问题分析过程

针对于该案例出现的问题,最快的解决方式(临时解决方案)是:进行nginx大小的调整,调整为可上传条件的大小为止。而针对这种最快的解决方式做了分析。
出现问题的原因:
用有限的思维来思考的问题,只想当下如何解决这个问题,没有从根本上解决问题。以后还可能有其他的情况,如果直接改参数,那么每次都需要改,而其中存在的风险是未知的。
解决问题的方案

  1. 将大的任务拆分成小的任务,分批次完成
  2. 在前端做处理,分多次请求发往后端

四:总结

  1. 要对生产环境有敬畏之心
  2. 要用无限的思维(运动的、相对的、连续的)看待问题
  3. 做任何事情都要有二选三的思维模式
  4. 要用科学的方法(先确定边界、然后遍历、最后找出最优)来看待问题


标签:body,http,28,server,nginx,client,上传,size
From: https://blog.51cto.com/u_15903651/6114800

相关文章

  • Nginx基础 - 08路径Rewrite
     一、Rewrite基本描述rewrite主要实现url地址重写,以及重定向。 使用场景URL访问跳转:支持开发设计,页面跳转,兼容性支持SEO优化:依赖于url路径,以便......
  • Unity3D Vuforia 官网上传不了制作后的照片解决方案1.0
    本人亲测:1.在网上下载照片格式只能为JPG、PNG2.照片内的线条最好棱角分明,弧度多的图识别特别低,可以适当的编辑一下在上传例如:加边框、......
  • Nginx基础 - 07代理缓存
     缓存是用来减少后端压力,将压力尽可能的往前推, 提高网站的并发延时。一、缓存常见类型服务端缓存:redis/memcached代理缓存,获取服务端内容进行缓存:Nginx_proxy  ......
  • gitcode_上传代码成功之后的一些命令
    gitcode上传代码之后的一些命令Gitglobalsetupgitconfig--globaluser.name"小怪兽"gitconfig--globaluser.email"[email protected]"Createanewreposito......
  • Nginx如何升级Openssl
    1.什么是Openssl?在计算机网络上,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连线者的身份。这个包广泛被应用在互联......
  • Nginx基础 - 04静态资源
      一、静态资源类型Nginx作为静态资源Web服务器部署配置,传输非常的高效,常常用于静态资源处理、请求、动静分离。非服务器动态运行生成的文件属于静态资源。类型......
  • Nginx基础 - 03基本配置
     一、Nginx配置文件结构Nginx主配置文件/etc/nginx/nginx.conf是一个纯文本类型的文件。整个配置文件是以区块的形式组织的。一般,每个区块以一对大括号{}来表示开始于......
  • Nginx 负载均衡反向代理 Windows安装部署教程
     一、Nginx简介   Nginx(enginex)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。它也是一种轻量级的Web服务器,可以作为独立的服务器部署网站......
  • 洛谷-2822
    洛谷-2652key思路有个modk的想法很好,然后就是对于一遍一遍的询问进行前缀和优化,但有个问题就是算出来的s矩阵最开始是个下三角矩阵,但是根据前缀和公式来看,s[i][j]上方......
  • docker镜像的上传和拉取
    dockerhub网站:https://hub.docker.com/登陆/登出Docker镜像仓库#语法dockerlogin[OPTIONS][SERVER]dockerlogout[OPTIONS][SERVER]#选项-u:登陆的用户......