先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
正文
这意味着,如果从一个给定IP地址发送21个请求,Nginx会立即将第一个请求发送到上游服务器群,然后将余下20个请求放在队列中。然后每100毫秒转发一个排队的请求,只有当传入请求使队列中排队的请求数超过20时,Nginx才会向客户端返回503。
查看发现,我们访问了21个,一个请求立即进到上游服务器群,进入桶里8个,失败12个。
不过,单独使用 burst 参数并不实用。假设 burst=50 ,rate依然为10r/s,排队中的50个请求虽然每100ms会处理一个,但第50个请求却需要等待 50 * 100ms即 5s,这么长的处理时间自然难以接受。
因此,burst 往往结合 nodelay 一起使用。
3.配置 nodelay 表示我不要任何的延迟,只要burst桶一满就返回503 报错
配置完成后就没有等待的感觉
效果相当于每秒10个请求的“流量限制”。如果希望不限制两个请求间允许间隔的情况下实施“流量限制”,nodelay参数是很实用的。
报错日志可以去 /usr/local/nginx/logs/access.logs 里去查看
使用 ngx_http_limit_conn_module
模块:该模块可以限制每个客户端的并发连接数。你可以在 Nginx 的配置文件中启用该模块,并使用 limit_conn_zone
指令来定义限流规则。例如:
http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
…
server {
location / {
limit_conn addr 10;
…
}
}
}
上述配置中,limit_conn_zone
指令定义了一个名为 “addr” 的限流区域,它使用了客户端的 IP 地址($binary_remote_addr
)作为键,并使用了 10MB 的内存缓存。在 location
中,limit_conn
指令应用了限流规则,限制每个客户端最多只能有 10 个并发连接。
分析:
conn模块一般也会添加 limit_rate_after 1m
就是在下载多少内容后再以limit_rate限制的速率下载,多用于浏览视频
先给你一点先看,再慢慢给你缓存观看,等你欲罢不能的时候,让你冲会员,冲完会员就快了!!!
先给你下载5M,再以1k速度左右下载
limit_rate 1k :限制下载速度在1k左右
限制连接数:
添加内容
limit_conn_zone $binary_remote_addr zone=two:10m;
limit_conn_zone 1 表示限制单个IP同时最多能持有1个连接。
limit_conn two 1 表示虚拟主机(server) 同时能处理并发连接的总数。
需要注意的是:只有当 request header 被后端server处理后,这个连接才进行计数。
全部访问成功了,看不出什么限制效果,我们添加限制速度 limit_rate 1k
发现失败了大部分,因为限制了并发数,他就会等待第一个请求处理完成后,才能处理第二个,而我们增加了限制处理速度,处理速度很慢,所以就失败了很多个
二、控制访问
1、nginx 访问控制模块
(1)基于IP的访问控制:http_access_module
(2)基于用户的信任登录:http_auth_basic_module
2、基于IP的访问控制
1、配置语法
Syntax:allow address | CIDR | unix: | all;
default:默认无
Context:http,server,location
Syntax:deny address | CIDR | unix: | all;
default:默认无
Context:http,server,location
2、修改/etc/nginx/conf.d/access_mod.conf
内容如下:
server {
listen 80;
server_name localhost;
location ~ ^/admin {
root /home/www/html;
index index.html index.hml;
deny 192.168.1.10;
allow all;
#deny 192.168.1.10;
}
}
#需要注意:
如果先允许访问,在定义拒绝访问。那么拒绝访问不生效。
虚拟机宿主机IP为192.168.1.10
,虚拟机IP为192.168.1.11
,故这里禁止宿主机访问,允许其他所有IP访问。 宿主机访问http://192.168.1.11/admin
,显示403 Forbidden
。 当然也可以反向配置,同时也可以使用IP网段的配置方式,如allow 192.168.1.0/24;
,表示满足此网段的IP都可以访问。
3、指定location拒绝所有请求
如果你想拒绝某个指定URL地址的所有请求,而不是仅仅对其限速,只需要在location
块中配置deny
all指令:
server {
listen 80;
server_name localhost;
location /foo.html {
root /home/www/html;
deny all;
}
}
3、基于用户的信任登录
1、配置语法
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
技术提升。**
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-taEZizQS-1713437418653)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!