"Cursor 代理超时怎么排查:从 Network 诊断到 HTTP/1.1"

"Cursor 代理超时、连接失败或 ERR_HTTP2,先跑 Settings 里的 Network 诊断,再查 http.proxy、proxySupport 与 HTTP 兼容模式,按 DNS/证书/重启顺序逐项排除。"

"Cursor 代理超时怎么排查:从 Network 诊断到 HTTP/1.1"

cursor 代理超时怎么排查,最短路径是:打开 Settings → Network → Run Diagnostics,看哪几项 FAILED,再对照下面四块改配置——显式代理、HTTP/2 兼容、DNS/证书、完全退出重启。多数国内场景是 Clash/VPN 端口没写进 Cursor,或 3.9 之后客户端不再走系统代理导致「浏览器能上、Cursor 超时」。

第一步:Run Diagnostics 看失败项

Network 诊断会逐项测 DNS、SSL、API、Chat、Agent、Cursor Tab 等。社区里常见两类结果:

诊断模式 典型 FAILED 项 更可能的原因
大面积 ENOTFOUND / ERR_NAME_NOT_RESOLVED DNS、API、Chat、Agent DNS 解析不到 *.cursor.sh,或公司内网 DNS 截断 CNAME
SSL/API 偶发失败,Chat 超时 SSL、Agent Endpoint 代理未生效、HTTP/2 与中间盒不兼容

官方论坛维护人员指出:若 SSL、API、Chat、Agent 已是 Success,剩下 DNS / Cursor Tab 等仍显示 FAILED,在「仅代理出网、DNS 由代理侧解析」的网络里可能是诊断探针的误报,不必为 cosmetic 项反复改系统 DNS。但若 Chat/Agent 也失败,就必须往下查。

诊断前建议记录:失败项名称、报错片段(如 ERR_HTTP2_PROTOCOL_ERRORConnectError: [unavailable])、当前 Cursor 版本。后续和 账号掉线自查清单 里的网络步骤可以串起来用——掉线有时是代理断了,有时是账号/额度,别混为一谈。

http.proxySupport 默认 override:系统代理常被忽略

从 Cursor 3.9 起,AI 相关流量走新的传输层,不再自动继承 macOS/Windows 系统代理或 PAC/WPAD。浏览器走系统代理所以网页正常,Cursor 直连却被墙或公司防火墙拦住,表现就是代理超时、Chat 一直转圈。

官方在论坛回复里给出的可靠写法是在 settings.json显式指定代理,并把 http.proxySupport 设为 override(默认值就是 override,含义是:用你写的 http.proxy,不要指望系统代理):

{
  "http.proxy": "http://127.0.0.1:7890",
  "http.proxySupport": "override",
  "cursor.general.disableHttp2": true
}

端口换成你 Clash、Surge、V2RayN 等本地监听端口。若用环境变量,可在启动前设置 HTTP_PROXY / HTTPS_PROXY 为同一地址;但从快捷方式启动时,环境变量有时传不进进程,写进 settings.json 更稳

proxySupport 其他取值(如 on / off)在不同版本文档里表述不一;排障时以「显式 http.proxy + override」为准,改完必须完全退出 Cursor 进程再开,Reload Window 不够。

Clash / VPN:把端口写对,比换节点更重要

国内开发者多数用 Clash 系:7890(HTTP)、7891(SOCKS)是常见默认值,但以你面板「端口设置」为准。Cursor 的 http.proxyHTTP 代理地址,格式 http://127.0.0.1:端口,不要填成 SOCKS 除非文档明确支持。

排查清单:

  1. 代理软件已开启且规则里 cursor.shcursor.com 走代理节点(或全局模式)。
  2. 终端执行 curl -x http://127.0.0.1:7890 -I https://api2.cursor.sh(端口替换)能返回头信息。
  3. 公司 VPN 与 Clash 叠用时,确认 Cursor 指向实际出网的那一层代理。
  4. TUN 模式有时和 Electron 应用抢路由;若 TUN 开着仍超时,试关闭 TUN、仅保留 HTTP 端口给 Cursor。

Agent 长时间卡在 planning、却不报错,也可能是代理半通;可对照 planning next moves 卡住 里的网络分流步骤。

ERR_HTTP2 与 HTTP/1.1 兼容模式

报错里出现 ERR_HTTP2HTTP2_PROTOCOL_ERROR,或 SSL 握手后立刻断连,常见于中间代理、企业 SSL inspection、部分机场节点对 HTTP/2 支持不完整。

处理顺序:

  1. Settings → Network → HTTP Compatibility Mode → HTTP/1.1(界面开关)。
  2. 或在 settings.json"cursor.general.disableHttp2": true(与论坛推荐配置一致)。
  3. 两项等效目都是强制 HTTP/1.1,改一项即可,不必重复叠加强制。

社区反馈:3.8 正常、3.9+ 超时,回退旧版有时能暂时恢复,根因仍多是代理/DNS;长期应把显式 http.proxy 和 HTTP/1.1 配齐,而不是一直钉死在旧版本。

DNS 与证书:ENOTFOUND 与 SSL 报错分开治

DNS(ENOTFOUND / ERR_NAME_NOT_RESOLVED)

  • 把系统 DNS 改为公共解析(如 Cloudflare 1.1.1.1、Quad9 149.112.112.112)。论坛维护人员提到 Google 8.8.8.8 在个别环境下可能解析到 SSL 不匹配的端点,可优先试前两者。
  • 公司内网 DNS 若解析不了 api2.cursor.shagent.api5.cursor.sh 等长 CNAME 链,需要网管放行 *.cursor.sh 或改用可解析的外网 DNS。
  • 关闭 iCloud Private Relay、部分「安全 DNS」插件后再测。

证书(SSL / 证书无效)

  • 企业 HTTPS 解密代理会替换证书,需在系统钥匙串信任公司根证书,否则 Cursor 报 SSL 错误。
  • 不要用自签 MITM 工具拦截 Cursor 流量却不装根证书。
  • 日期时间错误会导致证书校验失败,先确认系统时钟正确。

若 DNS 在浏览器里能解析、诊断里仍 ENOTFOUND,且 Chat 已成功,按上一节说明可能是代理网络的诊断误报;若 Chat 也失败,优先 DNS + 显式代理。

改完配置后:完全退出再 Run Diagnostics

配置变更后按这个顺序验证:

  1. 完全退出 Cursor(macOS:Cmd+Q;Windows:托盘图标退出,不要只关窗口)。
  2. 确认代理进程仍在监听目标端口。
  3. 重新打开 Cursor,再跑 Run Diagnostics
  4. 开一条 Chat 与一次 Agent,确认不只诊断通过、实际业务也通。

仍超时则导出 Network 诊断全文、在日志目录搜 ECONNREFUSED / ETIMEDOUT / 401,并对比 payment failed 是卡还是平台——支付通道正常不代表 AI API 路由正常,两类问题要分开查。

版本回退只作临时验证:若 3.8 正常、3.9+ 超时,说明与传输层/代理行为变更有关,长期仍应把 http.proxy 与 HTTP/1.1 配到位。企业环境还可对照官方 Network Configuration 域名放行列表,让网管一次性放通 *.cursor.sh 与相关 CDN,比逐个域名试错省时间。

常见问题

Clash 全局模式开了,Cursor 还是代理超时?

全局只保证流量进 Clash,不保证 Cursor 用了 Clash 端口。3.9 之后必须在 settings.jsonhttp.proxy,并 http.proxySupport: "override",然后完全退出重启。

Run Diagnostics 里 DNS 失败但 Chat 能用,要管吗?

在「DNS 由代理侧解析、本机不做直连解析」的网络里,维护人员认为部分 FAILED 项可以是 cosmetic。以 Chat/Agent 真实可用为准;若业务也失败,再动 DNS 和 http.proxy

网络修好了,仍然提示额度用尽或要付费怎么办?

那是订阅/用量层的问题,不是代理层。官方额度耗尽后会硬阻断高级模型;若你需要国内支付宝直付、且希望双池用尽后仍有 Auto 保底(约 5 分钟/次,相对官方硬阻断),可对照 按量额度与支付方案说明页 看当前是否上架套餐——以页面当前套餐为准,维护期间可能没有可购档位。

ERR_HTTP2 和 disableHttp2 要同时开 HTTP/1.1 模式吗?

目的相同,开一种即可。界面 HTTP Compatibility Mode 与 cursor.general.disableHttp2 任选其一,改完重启再测。

Windows 环境变量设了代理,诊断仍失败?

从快捷方式或开始菜单启动的 Cursor,有时读不到你在终端里 export 的 HTTP_PROXY。把同一地址写进 settings.jsonhttp.proxy 后完全退出再开;或在启动脚本里显式带环境变量启动,二选一即可。

参考资料