当前位置: 首页 > Linux运维 > Nginx > 宝塔面板中的特定操作导致网站临时无法访问:Nginx免费防火墙问题分析

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

发布于:2024-4-18 Nginx 0条评论 636 views
本站提供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


发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注