阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

宝塔面板中的特定操作导致网站临时无法访问:Nginx免费防火墙问题分析

102次阅读
没有评论

共计 1006 个字符,预计需要花费 3 分钟才能阅读完成。




本站提供 Linux 服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme

最近有客户反馈,他使用宝塔面板搭建的网站在执行特定功能时会暂时无法访问,尽管换用其他网络依然能够正常访问。过一段时间,网站又会自动恢复。这种现象看似该客户的 IP 地址被暂时屏蔽。经过专业的运维分析,xiaoz 最终找到了问题根源。

54b34b0e1018c7f9.png

问题排查

排查宝塔防火墙

最初,xiaoz 怀疑可能是宝塔面板中的某个防火墙导致了拦截。然而,经检查发现客户的宝塔面板未安装‘Nginx 免费防火墙’。

bc7f0870ffd0b484.png

分析网站日志

继续检查网站的日志,发现 Nginx 返回了 444 状态码,这意味着服务器没有返回任何信息并关闭了连接,通常用于拒绝恶意请求。

516333c99491c37d.png

检查 Nginx 配置

追根溯源,我细查了 Nginx 的配置文件,寻找可能触发 444 状态码的规则。使用以下命令遍历所有.conf 文件后,未能找到与 444 状态码相关的具体设置。

# 进入宝塔的 Nginx 目录下
cd /www/server/nginx/conf
# 使用下面的命令查找 444
grep -r --include="*.conf" "444" ./

肉眼继续排查 Nginx 所关联配置,看到有这么一行:include /www/server/panel/vhost/nginx/*.conf;

f90c0ee41868f74b.png

随后,我进入了 /www/server/panel/vhost/nginx/ 目录,并发现了一个名为 fee_waf.conf 的文件。查看该文件时,注意到其中包含了对 LUA 脚本的调用。

我开始怀疑是这个配置引起,于是将 fee_waf.conf 更名为 fee_waf.conf.bak 进行备份,然后重启 Nginx,最后问题得以解决。

解决办法

该客户使用的腾讯云预装宝塔面板,在宝塔面板后台中,未列出 fee_waf 配置,推测此项可能为默认启用且无法在后台查看,这对新手用户来说可能较为不便。

对于这种情况的解决办法就是直接将 /www/server/panel/vhost/nginx/fee_waf.conf 更名为fee_waf.conf.bak,然后重启 Nginx

如果您是自己安装的宝塔面板,请在宝塔面板后台“软件商店 – 已安装”看看是否安装了“Nginx 防火墙或 Apache 防火墙”导致,可以单独设置防火墙,对指定网站放行,或者直接关闭这个防火墙。

bc7f0870ffd0b484.png

以上问题仅供参考,当遇到网站故障时还需要具体问题具体分析,如果您需要专业的运维排查,请联系 xiaoz 微信:xiaozme

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计1006字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中