Nginx 基础入门篇 .5

Nginx 访问限制

ngx_http_limit_req_module

网站请求

测试未限制情况下的访问

yum install -y httpd-tools
ab -n 100 -c 10 http://192.168.75.222/
在这里插入图片描述

启动限制并查看

vim /etc/nginx/nginx.conf

http {
limit_req_zone $binary_remote_addr zone=req_zone:10m rate=1r/s;
限制请求  二进制地址  限制策略的名称   占用10M空间  允许每秒1次请求    
# limit_req zone=req_zone;  
#引用 限制策略的名称

    server {
        location / {
            root /usr/share/nginx/html;
            index index.html index.htm;
            limit_req zone=req_zone;  		#引用
            #limit_req zone=req_zone burst=5;
            #limit_req zone=req_zone burst=5 nodelay; 
#burst=5 表示最大延迟请求数量不大于5。 
#如果太过多的请求被限制延迟是不需要的 ,这时需要使用nodelay参数,
#服务器会立刻返回503状态码。 
        }
    }
}

在这里插入图片描述

ngx_http_limit_conn_module

TCP发起连接请求
启动连接频率限制

vim /etc/nginx/nginx.conf

http {
	limit_conn_zone $binary_remote_addr zone=conn_zone:10m;
}
server {
	location / {
	    ...
		limit_conn conn_zone 1;
	}
}  

结果相似

Nginx 访问控制

基于主机(ip) (ngx_http_access_module)

Directives
allow
允许某些主机
deny
拒绝某些主机
启用控制
1 限制主机访问

vim /etc/nginx/conf.d/default.conf
server {
allow 10.18.45.65;
allow 10.18.45.181;
deny all;
}

2 测试结果
除了授权的ip可以访问
其他服务器无法访问

基于用户(ngx_http_auth_basic_module)

启用控制
1. 建立认证文件

>yum install -y httpd-tools
			生成秘钥的工具是由apache提供
		htpasswd -cm /etc/nginx/conf.d/passwd user10
			会话密码
		htpasswd -m /etc/nginx/conf.d/passwd user20
			会话密码
		cat /etc/nginx/conf.d/passwd
			观察口令文件是否生成。已生成
			user10:$apr1$UE/tLtDM$nVm686kAMYb/ArqQDUi8U/
user20:$apr1$bmn0E/gK$enkXKb2V5uFvUy9wdIHlP.
  1. 启动认证

vim /etc/nginx/conf.d/default.conf
server {
找到server{字段,在下一行插入认证字段。
auth_basic “nginx access test!”;
auth_basic_user_file /etc/nginx/conf.d/passwd;
提示消息
引用认证文件

}

3.重启并验证

在这里插入图片描述
在这里插入图片描述在这里插入图片描述


©️2020 CSDN 皮肤主题: 岁月 设计师:pinMode 返回首页