`nginx`实现屏蔽`IP`

手册-Module ngx_stream_access_module
Module ngx_http_access_module

随便写一个 .conf结尾的配置文件, 比如我们此处用 ip.conf文件

ip.conf 文件
# 屏蔽127.0.0.1
 deny 127.0.0.1; 
# 屏蔽所有ip
deny all;
# 允许127.0.0.1,192.168.1.1
 allow 127.0.0.1; 
 allow 192.168.1.1;
# 允许所有ip进入
allow all;
#屏蔽整个段即从123.0.0.1到123.255.255.254访问的命令
deny 123.0.0.0/8
#屏蔽IP段即从123.45.0.1到123.45.255.254访问的命令
deny 123.45.6.0/24


 然后进入配置文件的`http`模块,或者`server`文件,或者`server`里面的`localtion`匹配模块都可以
但是我们大多的需求其实是在 server里面

ngx_http_access_module模块和ngx_stream_access_module模块实现屏蔽方式是一样的,都是denyaccess
只是写在server配置里面的就是ngx_stream_access_module模块实现,locationngx_http_access_module模块实现

location / {
    deny  192.168.1.1;
    allow 192.168.1.0/24;
    allow 10.1.1.0/16;
    allow 2001:0db8::/32;
    deny  all;
}

server {
    ...
    deny  192.168.1.1;
    allow 192.168.1.0/24;
    allow 10.1.1.0/16;
    allow 2001:0db8::/32;
    deny  all;
}

或者把IP写到一个文件里面 比如ip.conf
然后在站点配置里面的 server添加
server{
        include /etc/nginx/ip.conf;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Nginx API for Lua Introduction ngx.arg ngx.var.VARIABLE C...
    吃瓜的东阅读 11,131评论 0 5
  • 框架代码分析 核心模块 启动过程(main) 1、全局ngx_cycle_t对象 1、ngx_init_cycle...
    AKEEM阅读 4,844评论 1 0
  • 1.简介:  Nginx:engine X ,2002年,开源,商业版 http协议:web服务器(类似于ht...
    尛尛大尹阅读 5,853评论 0 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,328评论 19 139
  • I/O模型Nginx介绍Nginx的安装和目录结构Nginx的配置Nginx的编译安装 一、I/O模型 (一)I/...
    哈喽别样阅读 4,381评论 0 4