中国vs日本之 nginx 爬虫配置

前言

昨天网站突然间挂了 而且出现504 通过监控看出tcp连接增多 查看nginx日志发现德国的ip在爬取公司网站如图。

nginx代码如下:

进入到nginx安装目录下的conf目录,将如下代码保存为 agent_deny.conf

cd /usr/local/nginx/conf

vim agent_deny.conf

#禁止Scrapy等工具的抓取

if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {

return 403;

}

#禁止指定UA及UA为空的访问

if ($http_user_agent ~ "FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" ) {

return 403;

}

#禁止非GET|HEAD|POST方式的抓取

if ($request_method !~ ^(GET|HEAD|POST)$) {

return 403;

}

然后,在网站相关配置中的  location / {  之后插入如下代码:

如李世龙的配置文件 cat /etc/nginx/conf/nginx.conf

保存后重新启动。 systemctl restart nginx and systemctl reload nginx 。

时间: 2024-10-04 03:18:45

中国vs日本之 nginx 爬虫配置的相关文章

【nginx】配置优化

1.编译安装过程优化 在编译Nginx时,默认以debug模式进行,而在debug模式下会插入很多跟踪和ASSERT之类的信息,编译完成后,一个Nginx要有好几兆字节.在编译前取消Nginx的debug模式,编译完成后Nginx只有几百千字节,因此可以在编译之前,修改相关源码,取消debug模式,具体方法如下:在Nginx源码文件被解压后,找到源码目录下的auto/cc/gcc文件,修改如下几行 sed -i '[email protected]="$CFLAGS -g"@#CFLA

图文解说:Nginx+tomcat配置集群负载均衡

开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务.之初,曾有个小小的疑问为何不采用开源的apache.Nginx软件负载,F5设备动辄几十万,价格昂贵?自己一个比较幼稚的问题,后续明白:F5是操作于IOS网络模型的传输层,Nginx.apache是基于http反向代理方式,位于ISO模型的第七层应用层.直白些就是TCP UDP 和http协议的区别,Nginx不能为基于TCP协议的应用提

Nginx+tomcat配置集群

开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务.之初,曾有个小小的疑问为何不采用开源的apache.Nginx软件负载,F5设备动辄几十万,价格昂贵?自己一个比较幼稚的问题,后续明白:F5是操作于IOS网络模型的传输层,Nginx.apache是基于http反向代理方式,位于ISO模型的第七层应用层.直白些就是TCP UDP 和http协议的区别,Nginx不能为基于TCP协议的应用提

Nginx安装配置及调优

Nginx安装配置及调优 ? 一.安装Nginx ? 1.安装环境 [[email protected] ~]# yum –y install gcc pcre-devel openssl-devel 2.创建一个用户启动nginx [[email protected] ~]# useradd –s /sbin/nologin nginx 3.安装(不用的装模块不装) [[email protected] nginx-1.12.2]# ./configure \--prefix=/usr/loc

Nginx安装配置|Nginx反向代理|Nginx支持HTTPS|Nginx重定向

Nginx安装配置 可以直接看到最下面的HTTPS. Nginx安装 我的系统如下: No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.3 LTS Release: 16.04 Codename: xenial 安装(如果有apache服务器, 建议卸载了, 或者改Nginx的默认端口): sudo apt-get install nginx 此时已经开启了80端口, 并且配置处在etc/

linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表里 面找master进程,它的编号就是主进程号. ps -ef | grep nginx 查看进程 cat /usr/local/nginx/nginx.pid 每次修改完nginx文件都要重新加载配置文件linux命令: /usr/local/nginx -t //验证配置文件是否合法 若ngin

nginx安装配置

一.下载Nginx源文件 进入nginx官网下载nginx的稳定版本,我下载的是1.10.0. 下载:wget http://nginx.org/download/nginx-1.10.0.tar.gz 解压:tar -zxvf nginx-1.10.0.tar.gz 二.检查安装依赖项 执行下面的命令安装nginx的依赖库: yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel11 三.配置Nginx安

FastDFS的php和nginx模块配置

一.FastDFS和php整合 1.安装php # 安装依赖包 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel cu

Nginx下配置ThinkPHP的URL Rewrite模式和pathinfo模式支持

前面有关于lnmp环境的搭建,在此就不在赘述.下面就简述thinkPHP如何在nginx下开启url_rewrite和pathinfo模式支持 主要有两个步骤: 一.更改php.ini将;cgi.fix_pathinfo=0  改为cgi.fix_pathinfo=1 二.更改nginx配置文件中php的location设置pathinfo模式: location ~ \.php { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index in