nginx 屏蔽ip

在网站运行过程中,我们有的时候需要对某个IP或者IP段进行封禁,禁止IP访问本服务器,如果服务器的环境用的是Nginx,下面我们来看看Nginx如何禁止某个IP访问!

方法一:
首先在nginx的conf目录下建立名为blocksip.conf配置文件:

然后用vim打开blocksip.conf文件,写入以下规则:

deny xxx.xxx.xxx.xxx; (xxx为需要封禁的IP)
保存一下。

在nginx的配置文件nginx.conf中加入:

include blocksip.conf;
重启下nginx的服务:

service nginx restart
blocksip.conf:的格式还有许多种,可以配置只允许的IP访问或者IP段访问:

deny IP;
allow IP;
block all ips
deny all;
allow all ips
allow all;
其中网段的写法是这样的:192.168.1.0/24这样的形式。

deny 192.168.1.11;
deny 192.168.1.123;
deny 10.0.1.0/24;
如果你想实现这样的应用,除了几个IP外,其他全部拒绝,

那需要你在ip.balcklist中这样写

allow 1.1.1.1;
allow 1.1.1.2;
deny all;
单独网站屏闭IP的方法:

在server”{}”,在这个大括号内加入deny IP地址是限制某IP地址访问;allow IP地址是只允许某IP地址访问;

deny 123.45.6.7

deny 123.0.0.0/8

方法二:
使用iptables
1、iptables -L -n //查看iptables规则
2、iptables -F //清掉iptables规则
3、封闭ip命令
单个IP的命令是
iptables -I INPUT -s 124.115.0.199 -j DROP

deny 124.45.0.0/16

deny 123.45.6.0/24

4、 service iptables save ,保存规则,不然重启会将原来设置的规则覆盖掉
5、systemctl restart iptables //重启iptables
6、删除一条已有的规则
iptables -L INPUT –line-numbers //查看规则对应的rulenum
iptables -D chain rulenum //chain 对应的是-I 后面的命令,如上图设置为 “INPUT” ,

重启防火墙失败 ,Failed to restart iptables.service: unit not found.

解决办法:
yum install iptables-services //重新安装一遍
systemctl stop iptables && systemctl disable iptables
systemctl start iptables && systemctl enable iptables

Original: https://www.cnblogs.com/azhqiang/p/13970384.html
Author: ㄓㄤㄑㄧㄤ
Title: nginx 屏蔽ip

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/543527/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • springboot有两个主启动类时,maven打包(可执行包)会报错,需指定启动主类

    我本地写了一个rabbitmq fanout模式的demo。consumer启动类和producer启动类都放到了一个springboot程序里。本地调试通过。 突然有个疑问,sp…

    Java 2023年6月15日
    081
  • Git学习笔记

    Git git官方文档:https://www.runoob.com/git/git-tutorial.html 卸载 1、删除环境变量 2、控制面删除 官网下载地址:https:…

    Java 2023年6月13日
    072
  • 你文件乱码了么

    之前对文件的编码,解码一直停留在很抽象的层面,就想着各种编码方式,什么gbk,utf8,ascii等等,然后什么方式编码,就用什么方式解码,比较模糊的,而且项目中uft8编码无处不…

    Java 2023年6月6日
    095
  • Java连载153-可变参数、多线程状态图

    一、可变参数 可变参数顾名思义就是,编写一个函数的时候,可以传入一个或者多个参数 实际原理:根据传入的参数类型以及个数,创建一个数组,用于存储这些数据,在函数中调用的时候,也可以使…

    Java 2023年6月13日
    089
  • Java 虚拟机学习记录

    参考资料 JDK Vs JRE JVM 结构 JVM 运行时数据区 直接内存 栈帧 局部变量数组 操作数栈(先进后出) 动态连接 普通方法调用完成 方法调用突然完成(抛出异常) C…

    Java 2023年6月13日
    077
  • SpringBoot 整合缓存Cacheable实战详细使用

    前言 我知道在接口api项目中,频繁的调用接口获取数据,查询数据库是非常耗费资源的,于是就有了缓存技术,可以把一些不常更新,或者经常使用的数据,缓存起来,然后下次再请求时候,就直接…

    Java 2023年6月13日
    0110
  • 多态和其他的一些基础知识

    public class Demo06 {   public static void main(String[] args) {       System.out.println(…

    Java 2023年6月6日
    055
  • OAuth2.0

    一、OAuth2.0 为何物   OAuth 简单理解就是一种授权机制,它是在客户端和资源所有者之间的授权层,用来分离两种不同的角色。在…

    Java 2023年6月8日
    067
  • 2.分布式架构

    1.发展演变 1.单一应用架构 2.垂直应用架构 3.分布式服务架构 4.流动计算架构 posted @2022-07-27 19:44 努力的达子 阅读(44 ) 评论() 编辑…

    Java 2023年6月5日
    076
  • OAuth2授权服务器Id Server一键生成配置原理

    OAuth2客户端的配置参数非常多,虽然Id Server通过控制台可视化解决了创建 OAuth2客户端的问题。但是如何进一步降低 OAuth2的使用难度,把创建的 OAuth2客…

    Java 2023年6月8日
    081
  • Java中的命名规则

    在查找java命名规则时,未在国内相关网站查找到较为完整的文章,这是一篇国外程序开发人员写的java命名规则的文章,原文是英文写的,为了便于阅读,遂翻译为汉语,以便帮助国内开发者有…

    Java 2023年6月15日
    075
  • Java中对象序列化的作用

    1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存Object States,但是Jav…

    Java 2023年5月29日
    061
  • 抽象-接口

    JAVA是只支持单继承的,但可以多实现,也就是类可以实现多个接口 接口是一种规则,是一种约束,使用者必须按照其规定使用。比如usb接口可以为设备间提供快速传输,也可以供设备充电,使…

    Java 2023年6月5日
    059
  • 终止线程的运行

    终止线程的执行 强制终止用的是stop()方法,因为这种方法会丢失数据,所以一般不采用这种方法。 原理是直接杀死线程,这样的话线程中没有保存的数据就会丢失 /* 在java中强制终…

    Java 2023年6月9日
    0102
  • 日志导致线程Block的这些坑

    日志导致线程Block的这些坑,你不得不防 https://mp.weixin.qq.com/s/nowNpIOHBFHD0pctcKr2UA Original: https://…

    Java 2023年5月30日
    091
  • spring boot html+vue.js 形式前后分离代码示例

    1.html <table <span class="hljs-class"><span class="hljs-keywor…

    Java 2023年6月8日
    057
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球