请求分析
请求分析 把经过网关的 HTTP 请求整理为趋势、性能、来源和安全维度,同时保留逐条日志用于排障。它分析的是网关请求日志,不是登录事件,也不会包含没有进入 HTTP 网关的原始端口连接。
请求分析 通过 分析、日志 和 WAF 日志 页签切换统计、请求明细与防护事件。
启用数据采集
在 系统设置 → 日志 启用网关请求日志并设置保留周期,最少保留 1 天。Go 网关默认在运行目录的 logs 目录按天写入 JSON 结构化文件,后台的 请求分析 页面直接读取这些文件。关闭日志后不会产生新的分析数据;超出保留周期的文件被清理后,也不能再用于历史分析。日志会增加存储和写入开销,请按实际需要设置保留天数。
记录来自127.0.0.1本地回环的日志 默认关闭,因此本机健康检查、同机反代或其他经 127.0.0.1 进入网关的请求通常不会出现在列表中。需要排查本机调用链时再开启;它只改变日志记录范围,不改变回环来源的访问权限。
写入使用异步队列。设置页显示累计丢弃数时,表示队列曾发生拥塞,有些请求没有写入磁盘;该数字不是请求被网关拒绝的数量。网关反代节流直接断开的请求也不会进入访问日志。
修改日志保存目录
在 系统设置 → 日志 填写日志保存目录,或点击 选择文件夹 选择网关可访问的文件夹,再保存。请求分析的日志页也提供 修改日志保存路径 入口。页面分别显示实际目录和默认目录;留空或点击恢复默认后保存,可改回默认位置。
浏览的是网关服务器的文件系统,Docker 中是容器内路径,需先挂载存储。日志目录选择器可浏览静态内容浏览器隐藏的受保护目录,但这不表示这些目录可以公开为静态站点。保存时会校验路径与写入权限,失败后应检查提示并重新读取实际目录。
更换目录不会搬移旧日志;保存后查询、分析和保留期清理只针对当前目录。旧目录需另行保存或清理。内存目录中的日志在重启后会丢失;外置持久化存储可减少内部 FLASH 写入。保存后从外网发起一次请求,确认实际目录和日志列表出现新记录。
使用“分析”页签
可以查看今天、近 7 天或近 30 天的数据。统计按网关时区聚合,最长范围为 30 个连续自然日;如果日志保留天数更短,较早日期自然不会有数据。
顶部指标包含请求数、独立客户端、5xx 错误率、P95 响应时间和出站流量。趋势图对比总请求、4xx 和 5xx;下方可以继续拆分:
- 请求目标:路径、路由、Host 和上游;
- 访问来源:Referrer,以及 UTM 来源、媒介和活动;
- 国家与地区:按去重后的有效客户端 IP 汇总;
- 客户端:设备类型、浏览器和操作系统;
- 响应:状态码、方法和耗时区间;
- 认证与安全:认证决策和 WAF 动作。
地域信息来自 IP 定位缓存。首次查看时可能显示“正在补全”或部分覆盖,可点击地域刷新后稍候再看。分析接口只返回聚合后的国家与省市桶,不会把用于聚合的客户端 IP 列表返回给浏览器。损坏或字段不完整的日志不会计入统计,页面会提示被跳过的数量。
平均值、P95 和错误率适合发现趋势,不等于上游应用的完整性能追踪。发现异常后切换到 日志 页签,用 Host、路径、时间和状态码定位具体请求。
使用“日志”页签
读一条记录
| 字段 | 用途 |
|---|---|
| 客户端 IP / 连接来源 IP | 对比真实访问者与网关实际 TCP 对端,排查 CDN、反代和 Docker 链路 |
| 方法、Host、路径 | 判断请求匹配的是哪个服务 |
| 路由类型、上游目标 | 判断 Host/路径规则是否命中正确目标;静态响应会显示“静态文件”或“静态目录”,且没有上游地址 |
| 认证状态 | 判断是会话、白名单、本地豁免、高级认证临时凭据还是未授权导致的结果 |
| 子域规则组 ID / 临时凭据状态 | 高级认证命中时,确认具体规则组以及当前是单次放行、已签发、已续期还是已复用 |
| 状态码、耗时 | 区分网关拒绝、上游错误和慢响应 |
请求日志可能包含访问路径、Query、来源 IP、User-Agent、认证结果和上游地址,应按敏感运维数据处理。分享排障片段前删除 token、查询参数、内部地址和可识别个人的信息。
静态文件与目录响应由网关直接读取文件系统,因此日志的上游目标为空。路由键仍是业务 Host,Trace ID、认证结果、WAF 动作、状态码和耗时照常记录;服务器绝对路径不会写入请求日志或 WAF 事件。配置和排错见静态文件与目录响应。
推荐排障顺序
- 从外网发起一次可复现请求。
- 查找对应 Host 和路径,确认请求是否到达网关。
- 对照客户端 IP,确认没有把代理地址误当作访问者。
- 检查认证状态和访问策略。
- 再检查上游目标、状态码和应用自身日志。
按 Trace ID 查看全链路
请求日志、WAF 日志、系统事件和通知投递使用同一格式的 Trace ID 串联相关记录。在 请求分析 或 事件中心 点击 Trace ID 查询,也可以直接点击记录中的 Trace ID,进入 全链路追踪 页面。
追踪页按时间展示已找到的请求、WAF 事件、系统事件、通知触发与投递,并分别标记各数据源是已找到、未找到还是暂时不可用。部分数据源不可用时,其他已取得的内容仍会显示。查询不到不等于请求从未发生,也可能是对应日志未启用、记录已过期,或旧记录没有统一 Trace ID。
Trace ID 也可能出现在网关响应头、拦截页或通知中。对外分享前仍应检查同页的 Host、路径、来源 IP、上游地址和通知内容;Trace ID 是关联键,不是脱敏后的公开凭据。
如果日志中完全没有请求,先确认测试流量是否来自 127.0.0.1,以及回环记录开关是否开启。排除本机请求后,问题通常在 DNS、CDN、隧道、路由器或端口暴露之前;不要先修改映射规则。
如果只有部分请求缺失,检查网关节流是否直接断开连接,以及日志设置页是否出现队列丢弃警告。若状态码来自网关而非上游,继续检查认证、可见性、WAF 和映射;若已经显示正确上游 Target,再转到应用自身日志。
托管 Cloudflare Tunnel 开启 Pseudo IPv4 → Overwrite Headers 时,IPv6 访客的连接头可能先显示为 240.0.0.0/4。支持该模式的 fn-knock 会在托管专用入口校验 CF-Connecting-IPv6 并把“客户端 IP”恢复为真实公网 IPv6,“连接来源 IP”仍反映本地 Tunnel 链路。若升级后仍记录 Class E 地址,检查是否使用了手动回源、头部是否缺失或重复;手动回源建议把 Pseudo IPv4 改为 Off 或 Add Header。不要把 240.0.0.0/4 加入白名单来绕过问题。
启用子域高级认证后,鉴权结果 子域规则放行 表示请求由高级认证通过。详情中的规则组 ID 可定位触发配置;凭据状态为 单次请求放行 表示本次请求命中规则但没有创建持久凭据,常见于首次 Cookie 探测、不保存 Cookie 的客户端、WebSocket 升级或持久化降级;已签发 表示本次创建持久凭据,已续期 表示刷新空闲有效期,已复用 表示继续使用现有凭据。规则行为见子域高级认证。
处理可疑 IP
确认是实际攻击来源后,可以从日志跳转到通用黑名单或 IP 白名单操作。操作前先排除共享出口和前置代理地址,并保留时间、Host、路径等上下文。
