Cloud Run部署的Hasura单实例出现无来源周期性随机请求峰值问题
排查建议与解决方案
平台侧流量排查
- 开启Cloud Run全量请求日志采集,重点提取异常请求的
X-Forwarded-For源IP、User-Agent字段,先确认流量是否来自谷歌官方健康检查、公网爬虫扫描或是恶意探测。 - 对比两个Hasura实例的Cloud Run访问配置:检查异常实例是否开启了公网无鉴权访问,而正常实例配置了VPC入口限制、IAP鉴权。公网可直接访问的服务大概率会被全网扫描工具探测,触发无规律请求峰值。
- 核对两个实例的自动扩缩容参数:确认异常实例的单实例并发阈值是否设置过低,少量正常请求被误判为峰值。重点对比
container-concurrency、自动扩缩容阈值的配置差异。
Hasura服务侧排查
- 从给出的日志可看出,每次异常请求都会同时触发
/authwebhook调用和WebSocket连接建立,优先排查是否只有该异常实例的域名被配置在未下线的测试工具、旧版本客户端、第三方集成服务中,这些服务的自动重连逻辑会触发无规律请求。 - 检查该实例的Hasura配置:确认是否单独配置了定时任务、事件触发器,会周期性调用自身auth接口并建立WebSocket连接。
- 临时将Hasura日志级别调整为debug,增加请求头、客户端IP的输出维度,对比异常请求和正常业务请求的特征差异,快速定位来源。
快速验证方案
- 临时将异常实例的入口规则调整为仅允许VPC内部流量或公司公网IP访问,若峰值消失即可确认是公网探测流量导致。
- 交换两个实例的域名解析,观察异常峰值是否跟随域名转移:如果峰值出现在原来的正常实例上,说明是域名暴露被扫描,和实例本身配置无关。
- 临时关闭异常实例的WebSocket功能,若峰值不再出现,即可定位为未授权的WebSocket连接请求导致问题。
内容的提问来源于stack exchange,提问作者doh
相关产品推荐
相关产品推荐

