nginx根据token做频率限制
在 nginx.conf 文件添加配置 limit_conn_log_level error;
limit_conn_status 503;
limit_conn_zone $cookie_gray_DF_TOKEN zone=one:10m;
limit_conn_zone $server_name zone=perserver:10m;
limit_req_zone $cookie_gray_DF_TOKEN zone=req_one:10m rate=300r/s;
给域名的server 添加配置 # if ($cookie_gray_DF_TOKEN = '')
# {
# return 403;
# } limit_req zone=req_one burst=20 nodelay; 开启403配置, 可以检测是否token为空 ,若token为空, 匹配到返回403
客户端测试访问 for i in {0..20}; do (curl -b "gray_DF_TOKEN"-Is http://weifeng.cn/ | head -n1 &) 2>/dev/null; done
nginx根据token做频率限制的更多相关文章
- 使用nginx和iptables做访问权限控制(IP和MAC)
之前配置的服务器,相当于对整个内网都是公开的 而且,除了可以通过80端口的nginx来间接访问各项服务,也可以绕过nginx,直接ip地址加端口访问对应服务 这是不对的啊,所以我们要做一些限制 因为只 ...
- nginx 反向代理做域名转发简单配置
这里用的是nginx for windows 首先进入nginx配置文件,做以下配置: server { listen 80; server_name abc.com; location / { pr ...
- 基于nginx的token认证
Nginx 的 token 认证是基于集成了 nginx+lua 的 openresty 来实现的. 环境: centos 7 部署方式: 增量部署(不影响原 nginx 版本) 版本: openre ...
- nginx lua redis 访问频率限制(转)
1. 需求分析 Nginx来处理访问控制的方法有多种,实现的效果也有多种,访问IP段,访问内容限制,访问频率限制等. 用Nginx+Lua+Redis来做访问限制主要是考虑到高并发环境下快速访问控制的 ...
- nginx根据域名做http,https分发
omcat端口:8080 做好虚拟主机 参照我的另一篇文章nginx端口:80 根据域名分派 在conf/nginx.conf中的http中增加 include www.huozhe.com.conf ...
- 使用token做认证
对当前用户,使用base64加密token,再解密token,但是不如JWT加密安全 import time import base64 import hmac def generate_token( ...
- nginx代理天地图做缓存解决跨域问题
作为一个GISer开发者,天地图是经常在项目中以底图的形式出现,其加载地址如: 天地图矢量:http://t{0-6}.tianditu.com/DataServer?T=vec_w&x={x ...
- Linux 针对nginx日志文件做ip防刷限制
针对nginx日志做ip访问限制 1.cat /var/log/server/nginx/access.log| awk -F '?' '/optionid/{print $1}'|awk '{pri ...
- Nginx 到底可以做什么
本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得,欢迎留言交流. Nginx能做什么 反向 ...
随机推荐
- 《pyhton学习手册》 第33章 异常编码细节
try/except/else语句 这些语句的一般的格式如下图所示 其中try中定义了主要执行的动作.except中定义了try语句当中发生异常的处理器.else定义了没有发生异常时候的处理器. tr ...
- kafka_2.11-0.8.2.1单机版安装
1.下载kafka安装包wget http://mirrors.cnnic.cn/apache/kafka/0.8.2.1/kafka_2.11-0.8.2.1.tgz 2.复制到安装目录cp kaf ...
- Kafka 0.7.2 单机环境搭建
Kafka 0.7.2 单机环境搭建当下载完Kafka后,进行解压,其目录结构如下: bin config contrib core DISCLAIMER examples lib lib_manag ...
- maven 指定工程的 jdk 版本及编译级别
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> ...
- 字符集UTFMB4
http://my.oschina.net/leejun2005/blog/232732#OSC_h3_4 http://ju.outofmemory.cn/entry/211473
- 判断终端是ios还是安卓的一些妙用(附加微信分享图标修改)
最近遇到一个项目 要求有两个icon(就是下载地址 下载安卓的apk 和ios的安装包) 一开始的方案是 什么设备都显示这两个icon 但是后来老大说这样不好 安卓用户给他下载ios 也不行 ...
- Mac通过wifi连接 Android设备
公司用的全是mac开发,但是全是type-C接口,每次背电脑回家啊,还得带个数据线转换器…… 想着回来,直接通过Wi-Fi连接手机就好,发现完全忘了之前套路,现在赶紧记下一波,保证包教包会! STEP ...
- 写的一个split函数
vector<string> strsplit(const string& str) { vector<string> vec; string sstr1=str, s ...
- Tomcat中JVM参数设置
Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机.Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对JavaJVM有关内存方面的知识进 ...
- mac下的一些命令
1.显示隐藏文件 defaults write com.apple.finder AppleShowAllFiles -bool true 2.隐藏隐藏文件 defaults write com.ap ...