nginx--模块2--基于用户
Posted Le1543
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx--模块2--基于用户相关的知识,希望对你有一定的参考价值。
基于用户_明文传输http
工具安装,yum install -y httpd-tools
设置用户名和密码htpasswd -b -c /etc/nginx/.auth.conf testnginx 123456
/etc/nginx/conf.d/default.conf中在监控部分添加
location /status {
stub_status;
access_log off;
deny 10.0.0.1;
allow all;
auth_basic \'test\'; //个别浏览器提示引号内容,如火狐
auth_basic_user_file /etc/nginx/.auth.conf; //认证文件
}
访问控制
#limit_conn_zone $binary_remote_addr zone=conn_zone:10M; //公共部分基于tcp连接,接收10M大的ip地址,其中红色字体可以变
limit_req_zone $binary_remote_addr zone=req_test:10m rate=1r/s; //公共部分基于请求连接,接收10M地址和容许每个地址中每秒1个请求,其中红色字体可以变
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
#limit_conn zone=conn_zone1;
limit_req zone=req_test;
}
.....
}
压测ab -n 50 -c 20 http://192.168.3.222/index.html //20个主机同时发送50个请求
因每秒接收1个请求,剩下延时处理,主机处理请求1个,所以只有1个成功49个失败
改每秒10个
依然失败49个
每秒处理1个请求burst定义请求数量,超出部分返回503
10请求,3并发,错误4个
以上是关于nginx--模块2--基于用户的主要内容,如果未能解决你的问题,请参考以下文章
Nginx实现基于用户的访问控制(Ngx_http_auth_basic_module模块)
Nginx实现基于用户的访问控制(Ngx_http_auth_basic_module模块)