当前位置: 首页 > news >正文

Nginx禁止ip访问或IP网段访问方法

转载:https://www.cnblogs.com/already/p/6244295.html

Nginx禁止ip访问可以防止指定IP访问我们的网站,本例子可以实现是防止单IP访问或IP网段访问了,非常的有用我们一起来看看吧。

常用的linux做法

iptables参考规则

 代码如下复制代码

iptables -I INPUT -p tcp –dport 80 -m –mac-soruce$MAC -j DROP 基于mac地址的
iptables -I INPUT -p tcp –dport 80 -s $IP -j DROP 基于ip地址的

方法一,

首先建立下面的配置文件放在nginx的conf目录下面,命名为blocksip.conf:
 
加入以下代码:

 代码如下复制代码

#屏蔽soso蜘蛛IP
deny 113.108.12.154;    #此为搜搜蜘蛛IP
deny 124.115.0.0/24;    #此为屏蔽搜搜蜘蛛124.115.0.1 ~ 124.115.0.255整个网段IP
deny 124.115.4.0/24;    #此为屏蔽搜搜蜘蛛124.115.4.1 ~ 124.115.4.255整个网段IP
屏蔽整个网段的IP时有可能会造成错杀,不过几率很低。


保存一下。

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

重启一下nginx的服务:/usr/local/nginx/sbin/nginx -s reload 就可以生效了。

方法二,利用nginx的ngx_http_access_module


ngx_http_access_module 模块可以用来设置允许/禁止哪些ip或ip段访问,可以设置一个文件内容类似下面的:

 代码如下复制代码
deny IP;
deny subnet;
allow IP;
allow subnet;
# block all ips
deny    all;
# allow all ips
allow    all;

其中网段的写法是这样的:192.168.1.0/24这样的形式。
然后编辑nginx.conf,加入一行:
include blockips.conf;
这样设置以后,该服务器上所有的网站都会按照这个设置来拒绝或允许访问。如果想只针对某个网站,可以在具体的网站的配置中加入:

 代码如下复制代码
location / {
allow   192.168.0.0/24;
deny    all;
}

这样就只允许192.168.0.0网段的ip访问,其他ip访问会返回一个403错误。
还可以自定义一个403错误的页面,可以在/usr/local/nginx/html下新建个error403.html文件,里面按照html的语法写个文档,写上一些说明文字。
然后编辑nginx.conf,加入:

 代码如下复制代码
error_page   403  /error403.html;
location = /error403.html {
root   html;
}

转载于:https://www.cnblogs.com/-abm/p/10230262.html

相关文章:

  • Investigating Your RAM Usage
  • Java迭代器spliterator
  • Oracle TDE的学习
  • CSS 中 calc() 函数用法
  • springsecurity源码查看网址
  • Mod in math
  • js keyup、keypress和keydown事件 详解
  • 云栖问答送的淘公仔收到啦
  • struts2自己定义类型转换器
  • DJANGO的requirements的运用
  • 糖葫芦照样吃
  • RESTful三理解
  • 春运学生与民工
  • c11通过share_from_this构造另一类对象抛异常
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • 2017 前端面试准备 - 收藏集 - 掘金
  • Android交互
  • Git的一些常用操作
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Java,console输出实时的转向GUI textbox
  • Markdown 语法简单说明
  • MySQL用户中的%到底包不包括localhost?
  • Python进阶细节
  • Quartz初级教程
  • Vue.js源码(2):初探List Rendering
  • Vultr 教程目录
  • WePY 在小程序性能调优上做出的探究
  • 翻译:Hystrix - How To Use
  • 警报:线上事故之CountDownLatch的威力
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 如何正确理解,内页权重高于首页?
  • 树莓派用上kodexplorer也能玩成私有网盘
  • #NOIP 2014# day.2 T2 寻找道路
  • $(function(){})与(function($){....})(jQuery)的区别
  • $GOPATH/go.mod exists but should not goland
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (145)光线追踪距离场柔和阴影
  • (175)FPGA门控时钟技术
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (层次遍历)104. 二叉树的最大深度
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (蓝桥杯每日一题)love
  • (三)Honghu Cloud云架构一定时调度平台
  • (一)Dubbo快速入门、介绍、使用
  • *1 计算机基础和操作系统基础及几大协议
  • .“空心村”成因分析及解决对策122344
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .net分布式压力测试工具(Beetle.DT)
  • :中兴通讯为何成功
  • @Resource和@Autowired的区别
  • @vue/cli 3.x+引入jQuery
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce