502、配置不生效、日志查不到?这份雷池问题排查指南请收好
专注web防护的
专注web防护的
雷池SafeLine
2026年11月9日 09:00
浙江
去阅读
网站突然返回 502、503、504;
配置明明保存成功了,实际请求却没有变化;
控制台里有访问日志,却找不到攻击日志。
遇到这些问题,很多人的第一反应是:先重启试试。
但如果容器正在反复重启,不要继续反复手工重启,应先保留完整启动日志。开始排查前,可以先回答三个问题:
01 问题发生在哪里?
02 哪一段链路出现了异常?
03 现有日志和状态,能支持什么判断?
这篇文章整理了一套雷池问题定位的通用思路。你不需要一上来读懂所有服务,只要按照“看现象—留现场—查状态—对日志—做验证”的顺序,就能更快缩小范围。
适用对象:能够登录雷池主机,并查看 Docker、Tengine 及上游服务日志的运维人员。文中命令以常见 Docker Compose 部署为例,实际环境请以当前安装目录、Compose 配置和服务状态为准。
STEP 01
先按故障现象,找到排查入口
不同现象,对应的排查入口并不一样。
网站返回 502/503/504
优先看 Tengine 和上游服务,重点确认连接、超时以及上游响应。
配置保存成功,但实际没有生效
优先看 MGT、配置生成和 Tengine,确认新配置是否生成、语法检查是否通过、reload 是否成功。
有访问日志,但没有攻击日志
优先看 Detector 和规则配置,确认请求是否真的命中检测规则,以及当前是否为观察模式。
有攻击日志,但请求没有被拦截
重点核对策略模式、最终动作和例外规则。命中规则,不等于最终一定执行拦截。
控制台没有统计数据
重点看 Luigi、PostgreSQL 和 MGT,同时检查聚合、存储、查询时间、时区和筛选条件。
容器反复重启,或 Tengine 无法启动
先保留完整启动日志,再检查退出码、依赖服务、配置语法、端口占用和 Docker 网络。
注意:这些现象只能帮我们找到排查入口,不能直接代替日志和命令验证。某个关键词出现了,也不代表它已经是最终根因。
STEP 02
别急着重启,先把现场留下来
开始排查前,建议先记录以下信息:
- 问题第一次出现的时间和时区;
- 最近一次正常的时间;
- 最近一次升级、重启或配置变更的时间;
- 是单个应用异常,还是全部应用异常;
- 是所有请求失败,还是特定 URL、请求方法或客户端失败;
- 问题持续发生、偶发出现,还是重启后暂时恢复。
所有应用同时异常:更像公共服务、宿主机或网络问题。
只有一个 URL 异常:优先检查应用匹配、转发规则、请求特征和上游服务。
STEP 03
先看容器和公共资源是否正常
进入雷池安装目录后,可以先查看容器状态:
docker compose ps docker ps --format 'table {{.Names}}\\t{{.Status}}\\t{{.Ports}}'
重点关注这些状态:
- Up
:容器进程仍在运行,但不代表内部服务一定可用;
* healthy
:对应的健康检查已经通过;
* Restarting
:进程持续退出,又被 Docker 拉起;
* Exited
:进程已经退出,需要继续查看退出码和日志;
* 重启次数持续增加:不要反复手动重启,先保留启动日志。
再检查宿主机和 Docker 的公共资源:
df -h free -h ss -lntp docker network ls
磁盘已满,可能同时影响日志、数据库和配置生成;端口冲突,可能导致 Tengine 无法启动;容器网段与现有网络冲突,则可能让多个服务之间无法通信。
STEP 04
日志不要只看最后一条 error
收集日志时,要对准故障发生的时间段,并保留上下文。例如,可以按最近 30 分钟收集相关服务日志:
docker compose logs \\ --since 30m \\ --timestamps \\ --no-color \\ mgt tengine postgres detector luigi fvm chaos \\ > safeline-services.log
上述服务名仅为常见示例。实际排查时,请以 docker compose ps 和 docker ps 的结果为准。
不要只截取最后一条 error。建议至少保留:
- 错误前后的时间戳;
- 出现异常的服务;
- 完整错误文本;
- 可用于关联请求的 Host、URL、状态码和上游地址。
Address already in use
通常指向端口占用或重复监听,下一步应检查 ss -lntp、Tengine 配置和应用监听关系。
connection refused
目标地址通常可以到达,但对应端口没有监听,或者服务还没有就绪。
connection timed out
连接未能在超时前建立,需要继续检查路由、防火墙、目标地址以及容器内外连通性。
no live upstreams
当前没有可用的上游节点,需要核对上游列表、健康状态和生效配置。
host not found in upstream
上游域名无法解析,应检查容器内 DNS、域名解析结果和上游配置。
同一条错误,在不同时间点的含义也可能不同。启动后的几秒内出现一次 connection refused,随后服务恢复,可能只是依赖尚未就绪;运行数小时后持续出现,则要进一步检查服务退出、网络变化或资源故障。
STEP 05
三类高频问题,应该怎么查?
高频问题 01
网站打不开,或返回 502/503/504
先记录状态码、响应头、Host、URL、发生时间和页面特征。自定义错误页可能会掩盖真实来源,不能只看页面文案。
接下来做三组对照:
① 客户端访问雷池入口
↓
② 雷池宿主机访问同一个入口
↓
③ 雷池宿主机直连上游
以 HTTP 为例:
# 客户端访问雷池入口 curl -vk -H 'Host: <域名>' \\ 'http://<雷池 IP>:<监听端口>/<路径>' # 在雷池宿主机访问同一个入口 curl -vk -H 'Host: <域名>' \\ 'http://127.0.0.1:<监听端口>/<路径>' # 在雷池宿主机直连上游 curl -vk -H 'Host: <域名>' \\ 'http://<上游地址>:<上游端口>/<路径>'
如果使用 HTTPS,请将 URL 改为 https,并使用 --resolve <域名>:<端口>:<目标 IP> 保留正确的域名和 SNI,避免因为测试方式不同引入新的干扰。
- 客户端失败、雷池本机入口正常:检查客户端到雷池之间的 DNS、安全组、防火墙或端口;
- 雷池入口失败、直连上游正常:检查应用匹配、Tengine 配置、转发协议、Host 和 SNI;
- 直连上游也失败:检查上游地址、端口、路由、防火墙和业务服务;
- 只有部分路径或方法失败:比较路径规则、请求体大小、协议升级和不同上游节点。
502:反向代理没有拿到有效上游响应的可能性较高。
503:当前可能没有可用服务或节点,具体来源仍需结合日志确认。
504:上游连接或响应超时的可能性较高。
高频问题 02
配置保存成功,但没有实际生效
页面提示“保存成功”,只能说明保存动作完成,不能代替真实请求验证。
如果是应用、证书、上游或代理参数,可以沿着下面这条链路检查:
MGT 保存 → 生成新配置 → 语法检查
Tengine reload → 新请求命中新配置
可以先对当前 Tengine 配置做只读语法检查:
docker exec safeline-tengine nginx -t
这里的容器名是默认安装示例,请先按实际环境替换。
如果是攻击防护、自定义规则或动作,则要继续检查规则保存、FVM 编译、规则下发和 Detector 加载。规则已经命中但没有拦截时,还要核对观察/拦截模式、最终动作和例外规则。
最重要的一步:使用一个最小、可重复、不会破坏业务的请求,验证新配置是否真的生效。
高频问题 03
访问日志、攻击记录或统计数据不完整
先确认你要找的究竟是哪一类数据:访问日志、攻击日志、攻击事件、验证/认证/等候室记录,还是统计报表。
01 数据是否产生
对应请求或流程是否真的发生,相关日志是否开启。
02 数据是否被处理和保存
相关服务是否正常,故障时间段是否出现处理或存储错误。
03 数据是否能够被查询
时间范围、时区、应用、筛选条件、分页和数据保留周期是否正确。
有访问日志但没有攻击日志,不一定是系统异常。它也可能意味着请求没有命中攻击规则,处于观察模式,或者在限流、认证等其他阶段结束。
关联多类日志时,优先使用请求 ID 或事件 ID。没有统一 ID 时,可以用“时间 + IP + Host + URL + 端口 + 状态码”比较 Tengine、Detector、Luigi、控制台和上游日志。
STEP 06
还没定位?反馈时请带上这些信息
如果按照以上思路仍无法定位,建议在雷池社区或 SafeLine GitHub Issues 反馈时,至少说明:
版本信息:当前 SafeLine 版本;如果升级后出现问题,也请补充升级前版本。
问题现象:做了什么操作、实际出现了什么结果、问题发生在什么时间。
预期表现:正常情况下应该出现什么结果。
复现步骤:从哪个入口开始、依次做了什么、问题出现在哪一步。
环境信息:部署方式、相关服务状态,以及是否经过 CDN、负载均衡或其他代理。
日志脱敏提醒:如果附带截图或日志,请务必删除密码、Token、Cookie、私钥、完整业务请求体以及其他敏感信息。
雷池 70 万装机限时优惠
专业版限时 72 折起
活动时间:2026 年 10 月 8 日—11 月 30 日
活动期间购买还可参与抽奖
想先体验专业版能力?填写信息申请雷池 WAF 试用,加群获取专业版授权码。
点击“阅读原文”申请试用
如果这篇内容对你有帮助,欢迎转发给正在使用雷池的朋友。
也欢迎在评论区留下你遇到的问题和排查经验。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论