首批通过分布式安全可靠测评,为关键业务系统打造
SQL 执行报错连接已断开
更新时间:2025-06-17 09:01
问题现象
SQL 执行一段时间后,报错连接已断开。
问题原因
代理服务器超时导致,可通过浏览器调试模式检查 sql-execute 请求的 response 确认。
报错信息示例:以下请求返回
504 Gateway Time-out错误。
浏览器在后台运行未发送心跳导致 ODC 判定连接已不再使用主动断开连接。
通过浏览器调试模式检查是否有 heartbeat 请求发送:

解决方法
代理服务器配置问题
可通过修改代理服务器配置解决,确保超时配置足够长。
修改 nginx 配置。

增加以下 proxy 配置。
proxy_read_timeout 1800; proxy_send_timeout 1800; proxy_connect_timeout 75; proxy_next_upstream off;- proxy_connect_timeout 参数官方建议不超过 75 秒,具体请参考 proxy_connect_timeout time。/li>
- 设置 proxy_next_upstream off:用于禁止 nginx 将请求转发到下一个 ODC 节点,导致用户需要重新登录,且造成 ODC 部分功能不可用,例如数据库变更任务和结果集下载等与文件上传/下载相关的功能。/li>
修改配置后重启 nginx 。
浏览器在后台运行
浏览器在后台运行时未发送心跳请求,则执行长耗时 SQL 时需要定期在 ODC 页面上进行一些操作,保证前端一直发送心跳请求。因为浏览器后台运行不发送心跳请求一般是操作系统的行为,未对浏览器分配 CPU,这种情况一般是长期未在 ODC 的页面进行操作导致。