#Nginx请求限制
#limit_conn_module 连接频率限制
#定义:
Syntax: limit_conn_zone key zone=name:size;
Default: ——
Context:http
#使用:
Syntax: limit_conn zone number;
Default: ——;
Context:http,server,location
#limit_req_module 请求频率限制
#定义
Syntax: limit_req_zone key zone=name:size rate=rate;
Default: ——
Context:http
#使用
Syntax: limit_req zone [burst=number][nodekay];
Default: ——
Context:http,server,location
#例:
#定义连接频率限制 客户端ip地址 名字:大小
#limit_conn_zone $binary_remote_addr zone=conn_zone:1m;
#定义请求频率限制 客户端ip地址 名字:大小 速率
#limit_req_zone $binary_remote_addr zone=req_zone:1m rate=1r/s;
# location / {
# root /opt/app/code;
# limit_conn conn_zone 1;
# burst=3 超过请求个数,遗留3个请求到下一秒请求 nodelay:其他直接返回
# #limit_req zone=req_zone burst=3 nodelay;
# #limit_req zone=req_zone burst=3;
# #limit_req zone=req_zone;
# index index.html index.htm;
# }
#-----------------------------------------------------------------------------------------
#Nginx访问控制
#-http_access_module 基于IP的访问控制
#允许配置
Syntax: allow address|CIDR|unix:|all;
Default: ——
Context:http,server,location,limit_except;
#禁止配置
Syntax: deny address|CIDR|unix:|all;
Default: ——
Context:http,server,location,limit_except;
#例1禁止222.128.189.17:
# location ~ ^/admin.html {
# root /opt/app/code;
# deny 222.128.189.17;
# allow all;
# index index.html index.htm;
# }
#例2只允许222.128.189.0/24:
#
# location ~ ^/admin.html {
# root /opt/app/code;
# allow 222.128.189.0/24;
# deny all;
# index index.html index.htm;
# }
#http_auth_basic_module局限性
#方法一、采用别的HTTP头信息控制访问,如http_x_forward_for
#方法二、结合geo模块
#方法三、通过HTTP自定义变量传递
#-http_auth_basic_module 基于用户的信任登录
#配置
Syntax: auto_basic string|off;
Default: auto_basic off;
Context:server,location,limit_except;
Syntax: auto_basic_user_file file;
Default: ——
Context:http,server,location,limit_except;
#使用步骤:
#1.生成用户名密码配置文件 :htpasswd -c ./auth_conf name
#2.配置:
# location ~ ^/index1.html {
# root /usr/share/nginx/html;
# 提示信息
# auth_basic "Auth access test!";
# 密码文件
# auth_basic_user_file /etc/nginx/auth_conf;
# index index.html index.htm;
# }
#http_auth_basic_module局限性
#1.用户信息依依赖文件方式
#2.操作管理机械,效率低下
#解决方案
#.Nginx结合LUA实现高效验证
#.Nginx和LDAP打通,利用nginx-auth-ldap模块