Nginx通过geo模块设置白名单的例子
原配置:
http { ......
limit_conn_zone $binary_remote_addr zone=one:10m; limit_req_zone $binary_remote_addr zone=fifa:10m rate=5r/s;
...... server { ...... limit_conn one 5; limit_req zone=fifa burst=100; ...... }}
白名单配置:
http { ......
geo $whiteiplist { default 1; 127.0.0.1 0; 10.10.0.0/24 0; } map $whiteiplist $limit { 1 $binary_remote_addr; 0 ""; } limit_conn_zone $limit zone=one:10m; limit_req_zone $limit zone=fifa:10m rate=5r/s;
...... server { ...... limit_conn one 5; limit_req zone=fifa burst=100; ...... }}
说明:
geo指令定义一个白名单$whiteiplist, 默认值为1, 所有都受限制。 如果客户端IP与白名单列出的IP相匹配,则$whiteiplist值为0也就是不受限制。
map指令是将$whiteiplist值为1的,也就是受限制的IP,映射为客户端IP。将$whiteiplist值为0的,也就是白名单IP,映射为空的字符串。
limit_conn_zone和limit_req_zone指令对于键为空值的将会被忽略,从而实现对于列出来的IP不做限制。
以上这篇Nginx通过geo模块设置白名单的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
详解Nginx中的geo模块与利用其配置负载均衡的示例
geo指令使用ngx_http_geo_module模块提供的.默认情况下,nginx有加载这个模块,除非人为的 --without-http_geo_module. ngx_http_geo_module模块可以用来创建变量,其值依赖于客户端IP地址. geo指令 语法: geo [$address] $variable { ... } 默认值: - 配置段: http 定义从指定的变量获取客户端的IP地址.默认情况下,nginx从$remote_addr变量取得客户端IP地址,但也可以从其他
-
为Nginx服务器配置黑名单或白名单功能的防火墙
功能描述: 处在黑名单中的ip与网络,将无法访问web服务. 处在白名单中的ip,访问web服务时,将不受nginx所有安全模块的限制. 支持动态黑名单(需要与ngx_http_limit_req 配合) 具体详见下面的说明 文件配置方法说明 一.定义黑名单或白名单方法: 1. 配置格式 配置关键字 黑名单或白名单文件 存储空间 white_black_list_conf conf/white.list zone=white:2m; | | | | | | | -------------
-
nginx设置目录白名单、ip白名单的实现方法
1.设置目录白名单:对指定请求路径不设置限制,如对请求路径为api目录下的请求不做限制,则可写为 server{ location /app { proxy_pass http://192.168.1.111:8095/app; limit_conn conn 20; limit_rate 500k; limit_req zone=foo burst=5 nodelay; } location /app/api { proxy_pass http://192.168.1.111:8095/app
-
nginx动态添加访问白名单的方法
本文实现的功能是:网站启用访问白名单,对于不在白名单中又需要访问的客户,只需打开一个不公开的网址,然后自动获得2小时的访问权限,时间达到后自动删除访问权限 实现此功能需要以下几个步骤: nginx启用访问白名单 客户打开指定网址自动添加访问白名单 为网址添加简单的认证 每两个小时自动恢复默认白名单,删除临时IP访问权限 一.nginx配置访问白名单 这个就比较简单了,简单贴一下配置: ............nginx.conf........... geo $remote_addr $ip_w
-
Nginx通过geo模块设置白名单的例子
原配置: http { ...... limit_conn_zone $binary_remote_addr zone=one:10m; limit_req_zone $binary_remote_addr zone=fifa:10m rate=5r/s; ...... server { ...... limit_conn one 5; limit_req zone=fifa burst=100; ...... }} 白名单配置: http { ...... geo $whiteiplist {
-
关于Angularjs中跨域设置白名单问题
在config中注入$sceDelegateProvider服务使用resourceUrlWhitelist([])方法添加白名单 跨域时将method的属性设置为"jsonp"就可以访问了 app.config(["$sceDelegateProvider",function($sceDelegateProvider){ $sceDelegateProvider.resourceUrlWhitelist([ <span style="white-s
-
网站如何通过nginx设置黑/白名单IP限制及国家城市IP访问限制
目录 一.黑/白名单IP限制访问配置 1.第一种方法:allow.deny 2:第二种方法,ngx_http_geo_module 3.ngx_http_geo_module 负载均衡(扩展) 二.国家地区IP限制访问 1:安装ngx_http_geoip_module模块 2.下载 IP 数据库 3.配置nginx 总结 一.黑/白名单IP限制访问配置 nginx配置黑白名单有好几种方式,这里只介绍常用的两种方法. 1.第一种方法:allow.deny deny和allow指令属于ngx_ht
-
nginx配置IP白名单的详细步骤
目录 1.添加IP白名单文件 2.配置nginx.conf 3.编辑白名单的提示导航页面 补充:添加白名单后nginx报错: 总结 分析nginx访问日志,有哪些IP访问过nginx. 命令参考:awk '{print $1}' logs/access.log | sort | uniq -c | sort -nr -k1 输出的效果案例: 1053 192.168.3.15893 192.168.3.10818 192.168.0.8 1.添加IP白名单文件 在nginx目录的 conf 中添
-
Linux下设置防火墙白名单(RHEL 6和CentOS 7)的步骤
进入Linux 命令行,编辑防火墙规则配置文件 iptables vi /etc/sysconfig/iptables 下面是一个白名单设置的例子: # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTP
-
Nginx使用Lua模块实现WAF的原理解析
目录 一.WAF产生的背景 二.什么是WAF 三.工作原理 四.WAF作用 五.WAF和传统防火墙的区别 六.WAF和DDos 七.Nginx WAF功能 八.Nginx Waf防护流程 九.基于Nginx实现的WAF 9.1安装依赖包 9.2安装LuaJIT2.0 9.3安装ngx_devel_kit 9.4安装lua-nginx-module 9.5安装Nginx 9.6安装ngx_lua_waf 9.7测试效果 前言:最近一段时间在写加密数据功能,对安全相关知识还是缺少积累,无意间接触到了
-
Linux服务器配置ip白名单防止远程登录以及端口暴露的问题
前言 博主用的服务器是阿里云购买的,其实阿里云已经提供安全策略共给我们使用了,但是如果是公司自己的服务器,或者是我们自己的虚拟机等.还是需要自己看看配置好防火墙和如何配置白名单的. 1.阿里云的服务器,本身并没有防火墙,但是我们可以安装一个IPtable防火墙(这里阿里云的服务器系统为Centos),这样的话,就需要防火墙和阿里云网址配置的白名单同时生效才可以喽. 1.服务器防火墙 1.1.下面这个是初始化的防火墙配置 vim /etc/sysconfig/iptables # sample c
-
Node.js设置CORS跨域请求中多域名白名单的方法
CORS 说到CORS,相信前端儿都不陌生,这里我就不多说了,具体可以看看这篇文章. CORS,主要就是配置Response响应头中的 Access-Control-Allow-Origin 属性为你允许该接口访问的域名.最常见的设置是: res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Credentials', 'true'); // 允许服务器端发送Cookie数据 然而,这样的
随机推荐
- vue-router实现组件间的跳转(参数传递)
- vue loadmore 组件滑动加载更多源码解析
- MongoDB中的一些坑(最好不要用)
- SQL Server2008导出数据之Excel详细解析
- AngularJS在IE下取数据总是缓存问题的解决方法
- C语言计算代码执行所耗CPU时钟周期
- IOS 中loadView,viewDidLoad,viewDidUnload详解及使用
- .NET 扩展实现代码
- 定义php常量的详解
- json格式的javascript对象用法分析
- 每天一个linux命令 head命令
- SqlServer获取存储过程返回值的实例
- jQuery中next()方法用法实例
- 重构Javascript代码示例(重构前后对比)
- 详解基于spring多数据源动态调用及其事务处理
- ubuntu10.04配置 nginx+php-fpm模式的详解
- Android编程读取sd卡中图片的方法
- 基于javascript 显式转换与隐式转换(详解)
- 通过jquery.cookie.js实现记住用户名、密码登录功能
- Python实现的爬取百度文库功能示例