Nginx通过geo模块设置白名单的例子

 更新时间:2019年08月30日 11:31:42   作者:麦老师  
今天小编就为大家分享一篇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服务器https配置的方法示例

    Nginx服务器https配置的方法示例

    这篇文章主要介绍了Nginx服务器https配置的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • Nginx中alias指令的实现

    Nginx中alias指令的实现

    lias指令用于指定一个替换位置,该替换位置会替换掉location块中指定的URl,下面就来介绍一下alias指令,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • nginx多域名转发的实现

    nginx多域名转发的实现

    本文主要介绍了nginx多域名转发的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Nginx中的root和alias指令示例详解

    Nginx中的root和alias指令示例详解

    Nginx是一种高性能的Web服务器软件,其中root和alias是用于配置资源位置的两个指令,root指令用于设置资源的根目录,而alias指令则为特定location设置路径别名,root适用于整体目录结构,alias适合细粒度路径控制,本文详解这两个指令的用途及区别
    2024-10-10
  • 使用Nginx搭建代理服务器(正向代理HTTPS网站)的操作指南

    使用Nginx搭建代理服务器(正向代理HTTPS网站)的操作指南

    在网络应用中,代理服务器是用于中转用户请求和服务端响应的工具,正向代理主要用于客户端与外部服务器之间的访问代理,帮助客户端隐藏其 IP 地址或访问受限资源,本文将详细介绍如何使用 Nginx 搭建正向代理服务器,特别是针对 HTTPS 网站的代理
    2024-11-11
  • nginx隐藏server及版本号的实现

    nginx隐藏server及版本号的实现

    为了提高nginx服务器的安全性,降低被攻击的风险,需要隐藏nginx的server和版本号,本文就来介绍一下nginx如何隐藏server及版本号,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • 基于Nginx禁止指定IP、国外IP访问我的网站

    基于Nginx禁止指定IP、国外IP访问我的网站

    这篇文章主要介绍了用Nginx禁止指定IP、国外IP访问我的网站,想要实现这个功能方法有很多种,这里基于 Nginx 的 ngx_http_geoip2 模块来禁止国外 IP 访问网站,需要的朋友可以参考下
    2022-05-05
  • nginx配置多个站点共用80端口的解决方法

    nginx配置多个站点共用80端口的解决方法

    这篇文章主要介绍了nginx配置多个站点共用80端口的解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • nginx禁止dedecms目录php执行权限

    nginx禁止dedecms目录php执行权限

    nginx禁止dedecms目录php执行权限,找到配置fastcgi.conf文件,一般在/usr/local/nginx/conf/下面,修改如下
    2014-01-01
  • nginx配置history模式的使用小结

    nginx配置history模式的使用小结

    本文详细介绍了在Nginx服务器中配置history模式的方法,具体通过使用try_files指令来实现,这种配置方式主要适用于单页应用,可以确保无论访问什么URL,服务器总是返回同一个HTML文件,然后由前端路由来处理不同的页面显示
    2024-10-10

最新评论