爬虫访问网站全部403怎么办?

in 云服务器 with 0 comment

话说本站原本是使用coudflare来做基础的域名管理的,刚开始我甚至还开了对AI和一些搜索引擎访问的控制,因为有段时间这些东西差点让我服务器挂掉。
本站访问量虽然不大,但一直以来还是比较稳定的。但突然不知道从何时起,谷歌站长管理平台里就一直提示,搜索引擎的机器人访问网站,全部是403,手动去验证了一下,还是403.
83e8422b-acaa-445f-a33c-b54b17d95927.png
这就很奇怪了。明明一直好好的,这是不是CF这错呢?

自己瞎折腾

于是我关闭了CF上的ai访问的相关策略,验证,还是不行。。。

4493d080-e699-48a0-a1d3-226a57fdf1fe.png
又关了CF上的所有相关的限制策略,验证,还是不行。。。
最后,我干脆关闭了CF上的代理,验证,还是不行。。。。
看来,可能是我的服务器上的配置问题了。
这台服务器,原来装的是Oneinstack这个开源的环境部署的工具,后来据说这个工具不再安全被下药了,没法子,所以就开始装上了宝塔,来方便的管理服务器。这宝塔也升级了好多次了,也没有什么问题。这突然出现的情况,搞得我实在是无从下手啊
检查宝塔的防火墙,网站的相关配置,安装的插件,全部都试过了,还是不知道是哪里的问题。。。

AI来帮忙

不过,我运维的水平不行,不代表我们没有办法啊
我用现在流行的AI CODING工具,比如这次我用的是阿里出的QODE,使用它远程登录到服务器,然后让它来帮忙检查一下服务器到底是哪里的毛病。
结果,真的一下子就找到问题了。
ScreenShot_2025-10-24_090537_709.png
原来,是宝塔最新的版本里,自动安装了一个网站统计的模块 site_total ,且管理界面和命令行里都没有相关的控制界面。最奇怪的是,它安装后就自动在后台运行了,这个功能是干啥用的?

配置位置:
Nginx配置:/www/server/panel/vhost/nginx/extension/rplib.cn/site_total.conf
服务进程:/www/server/site_total/site_total (通过Unix socket与Nginx通信)

网站监控报表
实时分析网站运行、用户访问状况,精确统计网站流量、IP、UV、PV、请求、蜘蛛等数据,真假蜘蛛区分,网站SEO优化利器。
ScreenShot_2025-10-24_091905_693.png
具体可以去官方的说明文档里看:https://docs.bt.cn/purchase-guides/package-service/website-monitoring-report

但是,这个功能应该是宝塔企业版才有的功能,就是说要交钱才能用的,我这里近二十个VPS都是用的免费版本,这怎么回事?

有可能,是我在宝塔的官方下载安装的界面里,复制错了安装命令,直接将企业版安装了上来,这就导致了这个问题。
ScreenShot_2025-10-24_092135_598.png
那么,怎么取消这个模块呢?

systemctl stop site_total & systemctl disable site_total
mv /www/server/panel/vhost/nginx/extension/rplib.cn/site_total.conf /www/server/panel/vhost/nginx/extension/rplib.cn/site_total.conf.bak

再次验证,谷歌还是报403。。。
看来不是这个模块的错,但这个模块功能强大,免费版只用到了其中的一个流量统计,实在是有些大才小用啊。

最终答案

再次让AI跑起来,这次,AI终于找到根本原因并解决了问题。
37064-tmorooetqp.png

修改了 /www/wwwroot/rplib.cn/usr/themes/pinghsu/functions.php 中的 getRecentPosts() 函数,添加了一个过滤条件,排除有密码保护的文章:

->where('password IS NULL OR password = ?', '')  // 排除有密码的文章

再次让谷歌验证,这下OK了。
[图片上传中...(24121-btdbv7pj67d)]2025-10-24T02:41:33.png

Responses