Centos-Server-Nginx之禁止网络爬虫

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: “网路爬虫”在日常维护服务的过程中,是一个常见的问题。它说:“我要一步一步往上爬,爬呀爬呀爬到服务Game Over”!呵呵,因为遇到了,所以分享一下,处理网络爬虫的方法(这里主要是在Nginx上,做禁止爬虫). 常见问题: 1.网络堵塞丢包严重(上下行数据异常,排除DDOS攻击,服务器中毒。
“网路爬虫”在日常维护服务的过程中,是一个常见的问题。它说:“我要一步一步往上爬,爬呀爬呀爬到服务Game Over”!呵呵,因为遇到了,所以分享一下,处理网络爬虫的方法(这里主要是在Nginx上,做禁止爬虫).
常见问题:
1.网络堵塞丢包严重(上下行数据异常,排除DDOS攻击,服务器中毒。异常下载,数据更新)
2.服务器负载过高,CPU几乎跑满(针对相应的服务配置而定);
3.服务基本瘫痪,路由瘫痪;
4.查看日志发现大量的异常访问日志
 
    思路:先查看日志--分析日志--针对相关信息来源做限制(防火墙,Nginx本身都可以);
 
具体步骤:
一.先查看日志
     cat logs/www.ready.log |grep spider -c (看有爬虫标志的访问次数)
     cat  logs/www.ready.log |wc (合计总页面的访问次数)
 
     cat  logs/www.ready.log |grep spider|awk '{print $1}'|sort -n|uniq -c|sort -nr   (查看爬虫的IP地址来源)
     cat  logs/www.ready.log |awk '{print $1 " " substr($4,14,5)}'|sort -n|uniq -c|sort -nr|head -20(_列出1分钟内的前20位IP地址)
     cat  logs/www.ready.log |grep ip (列出出现较多的IP地址,这个可以结合上面的命令使用。)
 
二.分析日志
晓得爬虫爬过那些内容,是什么爬虫爬的。什么时候爬的
常见的爬虫有Google,Baidu,Yahoo这些(在下面的Nginx的http_user_agent配置处,有一些常见的爬虫)
 
三.修改防火墙策略,毙掉这个好奇的爬虫IP
vim /etc/sysconfig/iptables
 
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -s 61.33.22.1/24 -j REJECT 
        -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -s 61.22.1.1/24 -j REJECT
        重新启动iptables生效。
 
四.关于Nginx上的http_user_agent 的设置也可以很好的防范
 
具体的配置信息如下:
 
server { 
listen 80; 
server_name www.ready.com; 
if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot") 
return 403; 
location ~ ^/(.*)$ { 
proxy_pass http://localhost:80; 
proxy_redirect off; 
proxy_set_header Host $host; 
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
client_max_body_size 10m; 
client_body_buffer_size 128k; 
        proxy_connect_timeout 90; 
        proxy_send_timeout 90; 
        proxy_read_timeout 90; 
        proxy_buffer_size 4k; 
        proxy_buffers 4 32k; 
        proxy_busy_buffers_size 64k;                               proxy_temp_file_write_size 64k; 
 } 
error_page 500 502 503 504 /50x.html; 
  location = /50x.html { root html; 
 } 
 
 }
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
8月前
|
Linux
Linux中centos桌面消失网络图标
Linux中centos桌面消失网络图标
140 0
|
8月前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
166 0
|
8月前
|
Linux
CentOS8设置网络镜像安装源
CentOS8设置网络镜像安装源
986 0
|
3月前
|
NoSQL 网络协议 应用服务中间件
redis,memcached,nginx网络组件
redis,memcached,nginx网络组件
26 0
|
5月前
|
缓存 负载均衡 应用服务中间件
【揭秘】nginx代理配置全攻略:从零到精通,一文带你玩转高效网络代理的秘密武器!
【8月更文挑战第22天】nginx是一款高性能的HTTP与反向代理服务器,支持代理服务、负载均衡及缓存等功能,有助于提升网站响应速度和安全性。首先需确保已安装nginx,可通过包管理器进行安装。安装后启动并确认nginx运行状态。接着编辑配置文件(通常位于`/etc/nginx/nginx.conf`),设置代理转发规则,例如指定目标服务器地址和请求头信息。配置完成后测试有效性并重新加载nginx以应用更改。可以通过部署简易HTTP服务器验证代理功能是否正常工作。此外,还可以通过扩展配置文件实现更复杂的代理需求,如基于路径的代理和SSL加密等。
738 2
|
5月前
|
缓存 负载均衡 应用服务中间件
Nginx 代理管理器强势登场!轻松设置反向代理,为你的网络安全与高效护航,快来探索!
【8月更文挑战第23天】Nginx 代理管理器(NPM)是一款强大的工具,用于简化反向代理的设置流程。反向代理能隐藏后端服务器的真实IP,提升安全性,实现负载均衡与缓存等功能。用户需先安装Nginx 代理管理器,然后通过其Web界面添加代理主机,指定代理名称、协议类型、服务器地址及端口等信息。对于HTTPS协议,还需上传SSL证书/密钥。完成设置后,可通过浏览器测试反向代理是否正常工作。Nginx 代理管理器还支持高级特性,如负载均衡、缓存及访问控制等。
139 1
|
5月前
|
Linux
成功解决:CentOS7中无法连接网络
这篇文章介绍了如何解决CentOS 7虚拟机无法连接网络的问题。作者猜测问题可能是由于虚拟机软件的网关和CentOS 7系统的网关不一致导致的。文章提供了两种解决方案:修改虚拟网络编辑器的网关或修改CentOS系统的网关和IP地址。作者选择了后者,并演示了如何在CentOS终端中以root用户身份修改IP和网关。
成功解决:CentOS7中无法连接网络
|
5月前
|
网络协议 Linux 网络安全
Hyper-v 如何配置 Centos7 虚拟机网络?
Hyper-v 如何配置 Centos7 虚拟机网络?
174 0
|
8月前
|
网络协议 Linux
centos7部分桥接网络ping不通解决方案
centos7部分桥接网络ping不通解决方案
|
8月前
|
Linux 网络安全
CentOS系统openssh-9,网络安全大厂面试真题解析大全
CentOS系统openssh-9,网络安全大厂面试真题解析大全