You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome下HTTP Ajax POST遇ERR_CONNECTION_RESET的排查与解决求助

问题分析与解决方案

一、问题根源初步判断

从你提供的IIS日志和现象来看,问题核心大概率是HTTP长连接(Keep-Alive)超时+IIS强制关闭连接导致的:

  • IIS默认的连接超时时间是120秒(2分钟),你的首次POST请求耗时118278ms(接近2分钟),刚好触发了IIS的连接超时机制,服务器端强制关闭了socket连接,返回Win32错误码64(指定网络名称不可用)。
  • Chrome首次请求复用了之前建立的Keep-Alive长连接,当服务器强制关闭这个连接时,Chrome就抛出ERR_CONNECTION_RESET错误;而重试时Chrome新建了一个全新的socket连接,此时接口处理耗时19秒(未超过超时时间),所以请求成功。
  • Edge浏览器无此问题,是因为它的Keep-Alive连接管理策略和Chrome不同——可能Edge会自动检测空闲超时的连接并丢弃,自动新建连接发起请求,避免了复用失效连接的情况。

二、进一步排查方向

  1. 检查IIS连接超时配置
    打开IIS管理器,找到你的站点→右键“管理网站”→“高级设置”,查看“连接超时”的数值(默认120秒)。如果你的接口处理确实需要超过2分钟,需要适当调大这个值,同时也要检查服务器的应用程序池超时设置,避免应用池被回收。

  2. 优化接口处理性能
    首次请求耗时近2分钟,第二次仅19秒,说明接口存在性能问题或缓存机制:

    • 排查是否有慢SQL、未优化的数据库查询;
    • 检查是否存在资源锁、并发竞争导致的处理延迟;
    • 确认是否有首次请求加载缓存数据,第二次复用缓存的情况。
  3. 验证Chrome连接状态
    在Chrome中打开chrome://net-internals/#sockets,可以查看当前的socket连接状态,在首次请求前观察是否有空闲时间过长的连接指向你的服务器,以此确认是否是复用了失效连接。

三、Angular临时解决方案:避免复用旧连接

如果需要先通过前端手段规避问题,可以尝试以下几种方式:

1. 添加随机参数强制新建连接

每次POST请求时,在URL后追加一个时间戳参数,让Chrome认为是新的请求路径,从而新建连接:

import { HttpClient } from '@angular/common/http';

// ...

const timestamp = new Date().getTime();
this.http.post(`/api/asset/summary/save?t=${timestamp}`, payload)
  .subscribe(response => {
    // 处理响应
  }, error => {
    // 错误处理
  });

2. 禁用Keep-Alive连接

通过请求头设置Connection: close,让服务器在请求完成后关闭连接,下次请求会自动新建:

import { HttpClient, HttpHeaders } from '@angular/common/http';

// ...

const customHeaders = new HttpHeaders({
  'Connection': 'close'
});

this.http.post('/api/asset/summary/save', payload, { headers: customHeaders })
  .subscribe(...);

⚠️ 注意:禁用Keep-Alive会增加每次请求的连接建立开销,建议仅作为临时方案,优先从服务器端优化根本问题。

3. 提前发送预热请求

在正式POST前,先发送一个简单的OPTIONS/HEAD请求,触发Chrome新建连接,之后再发起POST:

import { HttpClient } from '@angular/common/http';

// ...

// 先发送预热请求
this.http.options('/api/asset/summary/save').subscribe(() => {
  // 预热完成后发起正式POST
  this.http.post('/api/asset/summary/save', payload).subscribe(...);
});

内容的提问来源于stack exchange,提问作者Max_dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:39:30