← 中文资源

简体中文版本

浏览器 ERR_EMPTY_RESPONSE — 服务器未返回数据即关闭

诊断 ERR_EMPTY_RESPONSE:服务器接受连接却在未发送 HTTP 响应的情况下关闭,涵盖崩溃与代理重置。

阅读英文原文

症状

浏览器报 ERR_EMPTY_RESPONSE:连接已建立随后关闭且无任何数据。重启有时能暂时缓解,指向崩溃的 worker 或陈旧的代理连接。

诊断

结合后端日志并直接测试后端:

curl -v http://127.0.0.1:8080/      # bypass the proxy
ss -ltnp | grep 8080                # confirm the owner

若只有经过代理的路径失败,说明代理重置了与上游的连接。

修复

确保每个请求都产生响应,即便出错也一样:

process.on('uncaughtException', (err) => {
  console.error(err);
});

提高代理的读取超时,并加入守护进程以重启崩溃的进程。

验证

多次刷新页面;每个请求都返回有效 HTTP 状态,访问日志记录完成,不再出现空响应错误。