首页 > 系统相关 >NGINX 封禁 IP(IP 段)访问方法:修改配置文件或 .htaccess 文件

NGINX 封禁 IP(IP 段)访问方法:修改配置文件或 .htaccess 文件

时间:2024-08-19 11:42:35浏览次数:7  
标签:deny 配置文件 IP 123.123 NGINX htaccess allow

方法一:修改 Nginx 配置文件 nginx.conf

Nginx 配置访问 IP 可以修改 nginx.conf 文件,只需要在 server 中添加 allow 和 deny 的 IP 即可,如下:

server {
    listen       80;
    server_name  localhost;
    allow all;
    deny 123.123.123.123;
    error_page   500 502 503 504  /50x.html;
}


server {

listen 80;

server_name example.com;

deny 192.168.0.100;

allow from all;

}
 

注意!上面的配置中 allow 必须在 deny 的前面配置,不然 allow 不生效。

Nginx 中允许或者拒绝某个 IP 访问是这么写的:

allow 192.168.0.1;
deny  192.168.0.2;

如果你需要对整个 IP 段设置不允许访问,可以这么写:

deny 123.0.0.0/8;    // 封 123.0.0.1~123.255.255.254 这个段的ip
deny 123.123.0.0/16;   // 封 123.123.0.1~123.123.255.254 这个段的ip
deny 123.123.123.0/24;   // 封 123.123.123.1~123.123.123.254 这个段的ip

deny all;  // 封所有ip

说明,allow 跟 deny 配置相同,如果需要开放某个 IP 段,只需要把上面的 deny 改成 allow

另外需要注意,该配置修改需要重启 Nginx 服务器才能生效。

方法二:修改网站配置文件 .htaccess

除了修改 Nginx 配置文件之外,还可以通过修改网站配置文件 .htaccess 来限制某 IP(段)访问,方法如下。

将以下内容保存为 .htaccess 文件,上传至网站根目录。如果原来已经存在 .htaccess 文件的,将以下内容加到该文件开头。

Order allow,deny
allow from all
deny from 123.123.123.123

如果要限制一个 IP 段,比如要限制 123.123.123.* 这个 C 段,则输入:

Order allow,deny
allow from all
deny from 123.123.123

以上内容表示拒绝 123.123.123 开头的所有 IP,其他 IP 允许。

如果要限制多个 IP 段,中间用空格隔开,如:

Order allow,deny
allow from all
deny from 111.111.111 111.222.222 111.333.333

说明,该配置不用重启 web 服务器,修改立即生效。

此外,该方法适用任何 web 网站,例如 IIS、Apache 网站。

------------------------------

先允许后全部拒绝

 

如果你想实现这样的应用,除了几个IP外,其他全部拒绝,
那需要你在blockip.conf中这样写

allow 1.1.1.1;
allow 1.1.1.2;
deny all;

 

 

 

 

标签:deny,配置文件,IP,123.123,NGINX,htaccess,allow
From: https://www.cnblogs.com/cheyunhua/p/18366986

相关文章

  • YC323C [ 20240724 CQYC NOIP 模拟赛 T3 ] 手环(ring)
    题意给定两个长为\(n\)的\(0/1\)串\(A,B\)。每次操作:对\(A\)向左或向右循环移位。选择\(0\lep<n\landB_i=1\),则将\(A_i\)取反。求将\(A\)变为\(B\)的最小操作次数。无解输出-1。\(n\le2000\)Sol显然无解当且仅当\(A\)和\(B\)不相同且\(B......
  • TypeScript学习之旅--对象数据类型
    1、对象类型声明1leta:{name:string,age:number};2a={name:"John",age:30};如果想设定多个参数且不确定参数类型,可用any,类似于参数列表,不限制参数个数和类型1leta:{name:string,age:number,[pro:string]:any};2a={name:"John",age:30,pro1:100,pro2:"Hello"};......
  • TypeScript学习之旅--数据类型
    TypeScript为JavaScript的超集(ECMAScript6),这个语言添加了基于类的面向对象编程。TypeScript作为JavaScript很大的一个语法糖,本质上是类似于css的less、sass,都是为了易于维护、开发,最后还是编译成JavaScript。Types所有类型都是any类型的子类型,其他类型被分成元类型(pri......
  • Linux安装nginx1.26.2
    第一步:去官网下载指定的版本http://nginx.org/en/download.html第二步:解压压缩包:tar-zxvf  ......tar.gz第三步:编译nginx ./configure如果出现报错:./configure:error:theHTTPgzipmodulerequiresthezliblibrary.Youcaneitherdisablethemodulebyusing--......
  • Python向IP地址发送字符串
    在Python中,向IP地址发送字符串通常意味着你需要通过某种协议来实现通信。最常见的协议包括TCP和UDP。这里,我将分别给出使用TCP和UDP协议向指定IP地址发送字符串的示例代码。1.TCP、UDP协议——示例一1.1使用TCP协议TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协......
  • 【TCP/IP】自定义应用层协议,常见端口号
    互联网中,主流的是TCP/IP五层协议5G/4G上网,是有自己的协议栈,要比TCP/IP更复杂(能够把TCP/IP的一部分内容给包含进去了)应用层可以代表我们所编写的应用程序,只要应用程序里面用到了网络通信,就可以认为这个代码就是属于应用层的代码日常开发中最常用到的一层:使用大佬......
  • 【TCP/IP】UDP协议数据格式和报文格式
    学习一个网络协议,主要就是学习“数据格式”/“报文格式”源端口/目的端口端口号是属于传输层的概念UDP报头使用两个自己的长度来表示端口号之所以端口号的范围是0~65535,是因为底层网络协议做出了强制要求如果使用一个10w这样的端口,就会在系统底层被“截断”UDP......
  • MCSM面板搭建我的世界Java版服务器结合内网穿透无公网IP远程联机
    文章目录前言1.安装JAVA2.MCSManager安装3.局域网访问MCSM4.创建我的世界服务器5.局域网联机测试6.安装cpolar内网穿透7.配置公网访问地址8.远程联机测试9.配置固定远程联机端口地址9.1保留一个固定tcp地址9.2配置固定公网TCP地址9.3使用固定公网地址远程联机......
  • 030、Vue3+TypeScript基础,路由中History和HashHistory的区别
    01、index.ts路由代码如下://创建路由并暴露出去import{createRouter,createWebHistory}from'vue-router'importHomefrom'@/view/Home.vue'importAboutfrom'@/view/About.vue'importNewsfrom'@/view/News.vue'constrouter=cr......
  • 029、Vue3+TypeScript基础,路由组件和一般组件的存放位置,以及页面生命周期
    01、main.js代码如下://引入createApp用于创建Vue实例import{createApp}from'vue'//引入App.vue根组件importAppfrom'./App.vue'//引入路由importrouterfrom'./router'constapp=createApp(App);//使用路由app.use(router);//App.vue的根元素id为ap......