返回顶部
首页 > 资讯 > 服务器 >详解各版本Web服务器限制请求体大小的方法
  • 654
分享到

详解各版本Web服务器限制请求体大小的方法

服务器nginxlinuxtomcat后端 2023-10-21 14:10:47 654人浏览 泡泡鱼
摘要

前言 我们在上传大文件的时候通常会把请求体大小限制设置的很大,但平常没有这种业务需求的时候一般就会做出限制,避免异常请求的进入,我们该怎么去设置这个限制呢? 一般来说,linux服务器没有直接限制请求参数包大小的限制。但是,通常会设置一些配

前言

我们在上传大文件的时候通常会把请求体大小限制设置的很大,但平常没有这种业务需求的时候一般就会做出限制,避免异常请求的进入,我们该怎么去设置这个限制呢?

一般来说,linux服务器没有直接限制请求参数包大小的限制。但是,通常会设置一些配置来限制请求大小,这些配置通常在WEB服务器或应用服务器上进行设置,比如NginxTomcat

如何限制请求体大小

1.Nginx

1.1 Nginx 1.12及以下版本

在1.12及以前版本的Nginx中,请求体限制是由ngx_Http_core_module模块内的client_max_body_size属性控制的

该指令的默认值为0,表示没有限制,如果要做限制需要在Nginx配置文件中添加如下代码:

http {  client_max_body_size 10m;}

其中10m表示请求体的最大大小为10MB

1.2 Nginx 1.13及以上版本

在Nginx 1.13及以后的版本中,请求体大小限制是由ngx_http_core_module模块内的client_body_buffer_size和client_max_body_size属性控制的

client_body_buffer_size

表示Nginx将请求体缓存到内存中的大小阈值,默认为8KB

client_max_body_size

表示请求体的最大大小限制,默认值仍为0,表示没有限制

要设置请求体大小限制,需要在Nginx配置文件中添加如下代码:

http {  client_body_buffer_size 16k;  client_max_body_size 10m;}

其中 client_body_buffer_size 表示将请求体缓存到内存中的大小为16KB

而 client_max_body_size 表示请求体的最大限制为10MB

ps:在Nginx 1.13及以后版本中,如果请求体的大小超过了client_body_buffer_size指定的值,Nginx会将请求体缓存到磁盘中,因此还需要确保磁盘空间足够大以存储请求体缓存

2.Tomcat

2.1Tomcat 8.0及以下版本

在server.xml文件中,添加以下配置:

maxPostSize表示最大请求体大小,单位为字节,默认为2097152字节(2MB)

maxHttpHeaderSize表示HTTP请求头大小,单位为字节,默认为8192字节(8KB)

2.2 Tomcat 8.5及以上版本

在server.xml文件中,添加以下配置:

在Tomcat 8.5及以上版本中,maxPostSize参数已被废弃,由maxSwallowSize代替

maxSwallowSize表示最大请求体大小,单位为字节,默认为2097152字节(2MB)

ps:maxSwallowSize包括HTTP请求头和请求体的大小,所以如果需要更改请求体大小限制,需要将maxHttpHeaderSize参数设置为较小的值(如2048),以便增大maxSwallowSize

总结

无论采用哪种Web服务器,能够对请求体进行限制,可以防止一些可能的非法或不正常请求

如果请求体大小超出了限制,Web服务器会返回“HTTP Status 413 - Request Entity Too Large”

保护服务器免受请求体的过度负荷和潜在攻击,确保系统的稳定性和安全

来源地址:https://blog.csdn.net/weixin_42559574/article/details/130002690

--结束END--

本文标题: 详解各版本Web服务器限制请求体大小的方法

本文链接: https://lsjlt.com/news/433818.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作