nginx屏蔽ip

el/2024/7/24 1:53:07

采集和防止采集是一个经久不息的话题,一方面都想搞别人的东西,另一方面不想自己的东西被别人搞走。

本文介绍如何利用nginx屏蔽ip来实现防止采集,当然也可以通过iptable来实现。

1.查找要屏蔽的ip

awk '{print $1}' nginx.access.log |sort |uniq -c|sort -n

nginx.access.log 为日志文件,

会到如下结果,前面是ip的访问次数,后面是ip,很明显我们需要把访问次数多的ip并且不是蜘蛛的ip屏蔽掉,本例当中我们屏蔽掉165.91.122.67

 ...13610 202.112.113.19295772 180.169.22.135337418 219.220.141.2558378 165.91.122.67

2.在nginx的安装目录下面,新建屏蔽ip文件,命名为blockip.conf,以后新增加屏蔽ip只需编辑这个文件即可。 加入如下内容

deny 165.91.122.67; 

保存一下。

3.在nginx的配置文件nginx.conf中加入如下配置,可以放到http, server, location, limit_except语句块,需要注意相对路径,本例当中nginx.conf,blocksip.conf在同一个目录中。

include blockip.conf; 

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

高级用法:

屏蔽ip的配置文件既可以屏蔽单个ip,也可以屏蔽ip段,或者只允许某个ip或者某个ip段访问。

# 屏蔽单个ip访问

deny IP; 

# 允许单个ip访问

allow IP; 

# 屏蔽所有ip访问

deny all; 

# 允许所有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 124.45.0.0/16

#屏蔽IP段即从123.45.6.1到123.45.6.254访问的命令

deny 123.45.6.0/24

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

allow 1.1.1.1; 
allow 1.1.1.2;
deny all; 

单独网站屏蔽IP的方法,把include blocksip.conf; 放到网址对应的在server{}语句块,
所有网站屏蔽IP的方法,把include blocksip.conf; 放到http {}语句块。


http://www.ngui.cc/el/5557252.html

相关文章

如何设置开机自启动程序

命令:cd / 命令:vim /etc/rc.local 命令:在最后一行输入 /usr/local/php/sbin/sbin/php-fpm start /usr/local/nginx/sbin/sbin/nginx (其中上面两条命令在命令行中可以执行。) 原因:开机启动时会执行…

Spawn-fcgi与PHP-FPM区别

Spawn-fcgi与PHP-FPM 前面介绍过,FastCGI接口方式在脚本解析服务器上启动一个或者多个守护进程对动态脚本进行解析, 这些进程就是FastCGI进程管理器,或者称为FastCGI引擎。 Spawn-fcgi与PHP-FPM就是支持PHP 的两个FastCGI进程管理器。 下面简…

PHP与PHP-FPM的配置与优化

配置与优化PHP-FPM PHP的全局配置文件是php.ini,在上面的步骤中,已经将此文件复制到了/usr/local/php/lib/php.ini下。可以根据每个应用需求的不同,对php.ini进行相应的配置。 下面重点介绍PHP-FPM引擎的配置文件。 根据上面指定的安装路径&a…

测试Nginx对PHP的解析功能--查看PHP安装配置以及功能列表统计信息

测试Nginx对PHP的解析功能 这里在/usr/local/nginx/html目录下创建一个phpinfo.php文件&#xff0c;内容如下&#xff1a; <?php phpinfo(); ?> 然后通过浏览器访问http://local/index.html&#xff0c;默认会在浏览器显示“Welcome to Nginx!”表示Nginx正常运行。…

优化Nginx中FastCGI参数的实例

在配置完成NginxFastCGI之后&#xff0c;为了保证Nginx下PHP环境的高速稳定运行&#xff0c;需要添加一些FastCGI优化指令。 下面给出一个优化实例&#xff0c;将下面代码添加到Nginx主配置文件中的HTTP层级。 fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels1:2 ke…

Windows如何查看端口占用

查看指定端口命令&#xff1a; C:\>netstat -aon|findstr "8080 Windows如何查看端口占用情况操作步骤如下&#xff1a; 开始--运行--cmd 进入命令提示符&#xff0c;输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理…

phpstrom如何配置git

第一步&#xff1a; 点击左上角的file------->选择setting---->再选择Version Control&#xff0c;选择git 第二步&#xff1a; 点击path to git executable&#xff0c;在电脑中找到git的安装目录 例如我的git安装目录为D:\Program Files (x86)\Git\bin\git.exe&#x…

phpStorm中如何使用git

安装phpstorm&#xff0c;安装git。 1、在git.oschina上新建一个项目&#xff1b; 2、打开phpstorm&#xff0c;检查git是否正确集成&#xff0c;如下图&#xff1a; 3、检查后&#xff0c;即可以将git上的项目clone下来&#xff0c;如下操作&#xff1a; 4、键入在git中复制的…

3种PHP连接MYSQL数据库的常用方法

对于PHP入门用户来说&#xff0c;我们只要掌握基本的数据库写入、读取、编辑、删除等基本的操作就算入门&#xff0c;也可以写出简单的程序出来&#xff0c;比如留言本、新闻文章系统等等。在整个过程中&#xff0c;MYSQL数据库的连接也是比较重要的&#xff0c;可以使用多种方…