限制客户端缓冲

ngx_http_core_module

1、client_body_buffer_size

(1)设置用于读取客户端请求体的缓冲区大小

(2)如果请求正文大于缓冲区,整个请求体或其部分将被写入一个临时文件中

(3)默认情况下,缓冲区的大小等于两个内存页。在 x86、其他 32 位平台、x86-64 上是 8K,在其他 64 位平台上通常为 16K

(4)语法

client_body_buffer_size size;

(5)默认值

client_body_buffer_size 8k|16k;

(6)位置:http、server、location

2、client_header_buffer_size

(1)设置用于读取客户端请求头的缓冲区大小

(2)对于大多数请求,1K 字节的缓冲区足够,但若一个请求包括长的 cookies,或者来自 WAP 客户端,它可能不适合在 1K 内

(3)如果一个请求行或一个请求头字段不适合这个缓冲区,那么就会分配更大的缓冲区,由 large_client_header_buffers 指令配置

(4)如果该指令是在服务器层面指定的,可以使用默认服务器的值

(5)语法

client_header_buffer_size size;

(6)默认值

client_header_buffer_size 1k;

(7)位置:http、server

3、client_max_body_size

(1)设置客户端请求体的最大大小

(2)如果请求中的大小超过配置值,413(请求实体过大)的错误会返回给客户端

(3)注意:浏览器不能正确显示这个错误

(4)将大小设置为 0,将禁止检查客户端请求体的大小

(5)语法

client_max_body_size size;

(6)默认值

client_max_body_size 1m;

(7)位置:http、server、location

4、client_body_timeout

(1)定义读取客户端请求体的超时时间

(2)超时仅设置为两个连续读取操作之间的时间段,而不是整个请求体的传输

(3)如果客户端在此时间内未传输任何内容,则请求将终止,并显示 408(请求超时)错误

(4)语法

client_body_timeout time;

(5)默认值

client_body_timeout 60s;

(6)位置:http、server、location

5、client_header_timeout

(1) 定义读取客户端请求头的超时时间

(2)如果客户端未在此时间内传输整个请求头,则请求将终止并显示 408(请求超时)错误

(3)语法

client_header_timeout time;

(4)默认值

client_header_timeout 60s;

(5)位置:http、server

6、client_body_temp_path path

(1)定义用于存储保存客户端请求体的临时文件的目录

(2)最多可以在指定目录下使用三级子目录层次结构

(3)语法

client_body_temp_path path [level1 [level2 [level3]]];

(4)默认值

client_body_temp_path client_body_temp;

 

(5)位置:http、server、location

7、client_body_in_file_only

(1)确定 nginx 是否应将整个客户端请求体保存到文件中

(2)此指令可以在调试期间使用,也可以在使用 requestbodyfilengxhttpperlmoduler>request_body_file 方法时使用

(3)如果设置为 on,则在处理请求后不会删除临时文件

(4)值为 clean,将导致删除请求处理后留下的临时文件

(5)语法

client_body_in_file_only on | clean | off;

(6)默认值

client_body_in_file_only off;

(7)位置:http、server、location

8、client_body_in_single_buffer

(1)确定 nginx 是否应将整个客户端请求体保存在单个缓冲区中

(2)使用 $request_body 变量时,建议使用该指令,以节省所涉及的复制操作数

(3)语法

client_body_in_single_buffer on | off;

(4)默认值

client_body_in_single_buffer off;

(5)位置:http、server、location

9、large_client_header_buffers

(1)设置用于读取大型客户端请求头的缓冲区的最大数量和大小

(2)请求行不能超过一个缓冲区的大小,否则 414(请求-URI 太大)错误将返回到客户端

(3)请求头字段也不能超过一个缓冲区的大小,否则 400(错误请求)错误将返回到客户端

(4)缓冲区仅按需分配

(5)默认情况下,缓冲区大小等于 8K 字节

(6)如果在请求处理结束后,连接转换为保持活动状态,则会释放这些缓冲区

(7)如果在服务器级别指定了该指令,则可以使用默认服务器中的值

(8)语法

large_client_header_buffers number size;

(9)默认值

large_client_header_buffers 4 8k;

(10)位置:http、server

posted @   半条咸鱼  阅读(740)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示