Nginx的内置控制模块适用于限制并发请求的数量,也适用于限制请求的来源。可用于避免DDOS攻击。本文介绍了根据Nginx进行密钥管理和连接限制的关键细节,有需要的朋友可以参考一下。
序言
Nginx的内置控制模块适用于限制并发请求的数量,也适用于限制请求的来源。可用于避免DDOS攻击。
看文章一定要知道nginx的环境变量的构造和英语语法。
1。默认设置是英语语法
Nginx.conf作为主环境变量。
包括/etc/nginx/conf.d/*。conf查看这将读取。文件目录的conf。
1.1综合和服务水平
user设定应用客户 worker_processes开展扩大并发线程数的解决跟cpu保持一致八核设定八个 error_lognginx的不正确日志 pidnginx服务项目起动情况下pid1.2恶性事件的事件控制模块
worker_connections一个过程容许解决的最大连接数 use界定应用的核心实体模型1.3服务器
root主页的途径 index主页默认设置浏览哪一个网页页面 error_page500502503504/50x.html不正确网页页面前边的500是**`http状态码`** systemctlrestartnginx.service重新启动nginx systemctlreloadnginx.service不关掉服务项目温和地重新启动2。HTTP
curl-vhttp://www.baidu.com>/dev/null#-v另外显示信息状态码等信息内容 nginx-V#显示信息nginx版本号及环境变量等信息内容3。日志
日志类型:error.log和access.log
error.log(纪录解决http请求的不正确情况及其nginx自身服务项目的不正确情况) access.log(每一次http请求的浏览情况)Log_format:设置日志的记录文件格式,在error.log和access.log中定义日志记录的样式,log_format的配置只在http控制模块中配备。
http中提供了access_log。
4。独立变量
加入资格限制_连接_模块
Limit_conn_module:TCP连接频率有限,一个TCP连接可以创建多个HTTP请求。
英语语法:
limit_conn_zone会声明一个zoneroom空来记录连接,从而限制总数。
区域是存储连接信息的室内空房间。它存储在键值对中。一般以移动客户端$binary_remote_addr的详细地址作为标识每个连接的关键字。
当区域内的室内空房间耗尽时,网络服务器可能会错误地为事件后的所有请求返回503(服务暂时不可用)。
请求限制_请求_模块
limit_req_mudule:HTTP请求的频率是有限的,一个TCP连接可以创建多个HTTP请求。
英语语法:
这里的区域也是用于存储连接的室内空房间。
突发和节点延迟
Burst和nodelay设置并发请求的缓冲区,是否是延迟时间的对策。
我们先假设装备了以下区域。
1:limit_reqzone=req_zone;
在没有brust和nodelay的情况下,rate=10r/s每秒只实现10个请求,很多立即返回到503,这是不正确的。
2:limit_reqzone=req_zonebrust=5;
当加入brust=5且不使用nodelay时,存在一个体积为5的缓冲区。rate=10r/s每秒只执行10个请求,很多都放在缓冲区。如果缓冲区已满,立即返回503是不正确的。并且缓冲区将在下一个时间范围内记录该请求以作出响应。如果也有请求进来,就把缓冲区再放一次,如果太多,就返回503,不正确。
3:limit_reqzone=req_zonebrust=5nodelay;
brust=5,nodelay,有一个体积为5的缓冲区。rate=10r/s每秒可以执行15个请求,15=10^5。立即返回503是不正确的。
根据IP的密钥管理
Http_access_module:根据IP的密钥管理,根据代理可以规避的限制,要防君子不防小人。
Allow和deny会从上到下依次搜索第一个匹配的标准,并区分是否允许浏览,所以一般都放在最后。
location/{ deny192.168.1.1; allow192.168.1.0/24; allow10.1.1.0/16; allow2001:0db8::/32; denyall; }根据客户登录密码进行密钥管理
Http_auth_basic_module:根据文档使用客户登录密码登录。
可以根据htpasswd形成密码,htpasswd必须安装yuminstall-yhttpd-tools。
#-c建立新文档,-b在主要参数中立即输入支付密码 $htpasswd-bc/etc/nginx/conf.d/passwduser1pw1 Addingpasswordforuseruser1 $htpasswd-b/etc/nginx/conf.d/passwduser2pw2 Addingpasswordforuseruser2 $cat/etc/nginx/conf.d/passwd user1:$apr1$7v/m0.IF$2mpM9NVVxbAv.jSUvUQr01 user2:$apr1$XmoO4Zzy$Df76U0Gzxbd7.5vXE0UsE0参考
极限连接模块
极限请求模块
http_访问_模块
http_auth_basic_模块
摘要
以上是我根据Nginx对密钥管理和连接限制的详细介绍。我期待对你有所帮助。如果你有所有感兴趣的人帮我在留言板上留言,我会立即回复你。在此,我也要感谢大家对你们网站的申请!
如果觉得文章对你有帮助,热烈欢迎删减,请注明出处,谢谢!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)