最近服务器的cpu和负载总是跑到100%,导致网页无法正常打开,排查日志后发现是大量蜘蛛来访问导致的,对日志进行分析后发现很多蜘蛛都是没见过的还有一些蜘蛛比如gpt这些只会抓取并不能给网站带来正常客户的,所以这里要屏蔽一些不必要的蜘蛛以减少服务器的压力。
创建自定义配置文件
登录宝塔面板:
打开宝塔面板,使用管理员账号登录。
进入文件管理:
在左侧导航栏中选择“文件”。
导航到 /www/server/nginx/conf
目录。
新建配置文件:
在该目录下新建一个空白文件,命名为 kill_bot.conf
。
编辑配置文件:
将以下代码复制并粘贴到 kill_bot.conf
文件中:
禁止垃圾搜索引擎蜘蛛抓取
if ($http_user_agent ~* "CheckMarkNetwork|Synapse|Nimbostratus-Bot|Dark|scraper|LMAO|Hakai|Gemini|Wappalyzer|masscan|crawler4j|Mappy|Center|eright|aiohttp|MauiBot|Crawler|researchscan|Dispatch|AlphaBot|Census|ips-agent|NetcraftSurveyAgent|ToutiaoSpider|EasyHttp|Iframely|sysscan|fasthttp|muhstik|DeuSu|mstshash|HTTP_Request|ExtLinksBot|package|SafeDNSBot|CPython|SiteExplorer|SSH|MegaIndex|BUbiNG|CCBot|NetTrack|Digincore|aiHitBot|SurdotlyBot|null|SemrushBot|Test|Copied|ltx71|Nmap|DotBot|AdsBot|InetURL|Pcore-HTTP|PocketParser|Wotbox|newspaper|DnyzBot|redback|PiplBot|SMTBot|WinHTTP|Auto Spider 1.0|GrabNet|TurnitinBot|Go-Ahead-Got-It|Download Demon|Go!Zilla|GetWeb!|GetRight|libwww-perl|Cliqzbot|MailChimp|SMTBot|Dataprovider|XoviBot|linkdexbot|SeznamBot|Qwantify|spbot|evc-batch|zgrab|Go-http-client|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|YisouSpider|HttpClient|MJ12bot|EasouSpider|LinkpadBot|Ezooms|GPTBot") {
return 403;
break;
}
# 禁止扫描工具客户端
if ($http_user_agent ~* "crawl|curb|git|Wtrace|Scrapy") {
return 403;
break;
}
- 修改网站配置文件
进入网站设置:
在宝塔面板左侧导航栏中选择“网站”。
找到并点击您要配置的网站,进入网站设置页面。
编辑配置文件:
在网站设置页面左侧导航栏中选择“配置文件”。
插入自定义配置:
在 #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则 上方空白行插入以下代码:
include kill_bot.conf;
保存配置:
保存并应用配置文件。
3. 验证配置
重启Nginx:
在宝塔面板左侧导航栏中选择“软件商店”。
找到并点击“Nginx”,然后点击“重启”按钮。
测试配置:
使用不同的User-Agent访问网站,确保被屏蔽的User-Agent无法访问网站,并返回403错误。
再有gpt的蜘蛛过来状态就变为了403