今天又遇到一个诡异的问题。起因是发现一个客户的环境里面,前端的 Node 服务,在做一个普通的查询时,会报一个连接被断开的错。从 Node 层的日志来看,是数据库端主动断开了连接。在同一台服务器执行 JS 代码,模拟查询,又能正常执行,拿到查询结果,说明数据库和网络都没问题。后面只好抓包,用 Wireshark 看报文,从报文看,是 Node 层主动发了 RST 断开连接的。但是 Node JS 代码没有这样的行为。后面把报文丢给 AI 分析,AI 觉得可能是查询的结果中,有疑似扫描与攻击的链接,然后被内网的安全设备阻断了。看了这个表的数据,确实很多 API 地址是试探注入扫描一类的行为。把这些疑似扫描的记录从数据库清理掉以后,Node 执行这个查询就正常了。