连接被拒绝与连接被重置是什么意思?常见原因与处理
connection refused 和 connection reset 看起来都是连不上,含义却完全不同:前者是目标端口没有人监听,后者是连接建立后被某一方强行切断。本文解释两者在机场场景下的典型原因、判断命令与处理方法,并与超时做对比。

直接答案
连接被拒绝(connection refused)表示对方主机收到了你的连接请求,但目标端口没有程序在监听,于是明确回复拒绝;在机场场景下多数是本地代理端口填错、客户端没启动,或节点端口已变更。连接被重置(connection reset)表示连接已经建立或正在建立,却被某一方发送 RST 强行切断;多数是中间网络设备识别并阻断了流量、节点服务端主动关闭,或协议参数不匹配。前者查端口,后者查协议与线路。
客户端日志里的 connection refused 和 connection reset by peer 经常被当成同一种「连不上」,但它们描述的是两件完全不同的事。拒绝是对方明确告诉你「这个端口没人」,重置是连接已经在进行中却被一方强行掐断。再加上第三种「超时」(没有任何回应),三者几乎覆盖了机场使用中所有的连接类错误。看懂它们,排查方向就清楚了一半。
三种错误的本质区别
TCP 连接的建立需要三次握手。客户端发出 SYN 后,可能得到三种结果:
| 错误 | 对方的回应 | 含义 | 典型原因 | 排查方向 |
|---|---|---|---|---|
| 连接被拒绝 refused | 回 RST | 主机在,端口没有程序监听 | 端口填错、客户端未启动、节点端口变更 | 端口与进程 |
| 连接被重置 reset | 握手后或传输中收到 RST | 连接被某一方主动切断 | 中间设备阻断、服务端主动关闭、协议不匹配 | 协议与线路 |
| 连接超时 timeout | 没有任何回应 | 数据包丢失或被静默丢弃 | 丢包、防火墙静默丢弃、入口不可达 | 网络可达性 |
拒绝几乎总是「立刻」发生,因为对方马上就回了 RST;重置可能发生在握手刚完成、也可能在传输几秒后;超时则要等到客户端的等待时间耗尽。从发生的时机就能先做一次初步判断。超时类问题的完整分析见网络连接超时有哪些常见原因。
连接被拒绝:先分清是哪个端口
机场场景下,拒绝会出现在两个位置,处理完全不同。
本地代理端口被拒绝。 浏览器或终端报 127.0.0.1:7890 connection refused,意思是本机这个端口上没有客户端在监听。原因依次是:客户端或内核没有启动;客户端实际使用的端口与你填的不一致;端口被其他程序占用导致客户端启动失败。处理:打开客户端确认内核运行,在设置里核对混合端口,必要时改一个端口。
节点端口被拒绝。 客户端日志里出现 dial tcp 节点IP:端口: connection refused,说明本机到达了节点服务器,但那个端口上没有服务。常见于机场更换了端口而订阅未更新,或者节点正在维护。处理:手动更新订阅,看端口是否变化;没变化就看机场公告。
ℹ️ 说明
节点端口被拒绝时,服务器本身是在线的,这反而是个好消息:线路通畅,只是端口信息过期。更新订阅后通常立刻恢复。
连接被重置:谁发的 RST
重置的难点在于发 RST 的可能是三方中的任何一方:中间网络设备、节点服务端、本机的安全软件。按出现规律区分:
| 出现规律 | 最可能的来源 | 处理 |
|---|---|---|
| 某种协议的节点全部重置,其他协议正常 | 中间设备识别了该协议特征 | 换协议,优先带 TLS 的协议 |
| 握手刚完成就重置 | 协议参数不匹配、服务端拒绝该客户端 | 更新订阅、更新客户端内核 |
| 传输一段时间后重置,晚高峰更频繁 | 线路质量差触发服务端超时 | 换线路,见晚高峰相关文章 |
| 访问特定网站重置,其他正常 | 该域名走了直连 | 检查分流规则 |
| 所有协议所有节点都重置 | 入口被整体阻断或本机安全软件 | 换入口、暂时关闭安全软件对比 |
协议特征被识别是重置最常见的来源。不同协议的抗识别能力不同,相关背景见机场常见协议解析。一般来说,带有正常 TLS 握手特征的协议比明文或弱混淆协议更不容易被重置。
⚠️ 注意
遇到重置不要反复快速重连。短时间内大量被重置的连接会让中间设备进一步提高对该入口的拦截强度,原本只影响一个端口的问题可能扩大到整个 IP。
用命令确认错误类型
Windows PowerShell:
# 本地端口是否有程序监听(TcpTestSucceeded 为 False 即拒绝)
Test-NetConnection -ComputerName 127.0.0.1 -Port 7890
# 查看谁占用了端口
Get-NetTCPConnection -LocalPort 7890 -ErrorAction SilentlyContinue | Select-Object OwningProcess
# 通过代理访问,观察 curl 错误码:7 = 拒绝,56 = 传输中被重置,28 = 超时
curl.exe -x http://127.0.0.1:7890 -sS -o NUL -w "%{http_code}`n" https://www.cloudflare.com/cdn-cgi/trace
macOS / Linux:
# 端口探测
nc -zv -w 3 127.0.0.1 7890
nc -zv -w 3 节点入口域名 443
# 查看端口占用
lsof -iTCP:7890 -sTCP:LISTEN
# 详细握手过程,重置会显示 Connection reset by peer
curl -v -x http://127.0.0.1:7890 https://www.cloudflare.com/cdn-cgi/trace
curl 的退出码是最直接的判据:7 对应拒绝,56 对应传输中被重置,28 对应超时,35 对应 TLS 握手阶段的失败。TLS 阶段的问题有自己的一套排查方法,见握手超时与 TLS 错误怎么处理。
逐步处理流程
- 在客户端日志里找到确切的错误词,确定是 refused、reset 还是 timeout。
- refused 且端口是 127.0.0.1:确认客户端运行、核对端口、处理占用。
- refused 且端口是节点地址:更新订阅,看机场公告。
- reset 只出现在一种协议:切换到订阅里的其他协议节点。
- reset 出现在所有协议:换入口或地区,对比手机热点与家宽,暂时关闭安全软件对比。
- reset 只在晚高峰出现:问题在线路质量,按晚高峰卡顿的处理方法调整。
- 以上都做过仍然重置:联系机场客服,提供日志中的时间与错误词。
预防与选择建议
- 订阅保持每日自动更新,端口变更能被及时同步。
- 常用节点至少覆盖两种协议,一种被识别时可以立刻切换。
- 选机场时关注它是否提供多协议、多入口,以及入口被阻断后多久能换新。这些在靠谱机场推荐与稳定机场推荐的评估维度里权重很高。
- 不要因为被重置就把客户端的证书验证关掉,这不解决问题,反而带来风险。
小结
拒绝是「没人监听」,重置是「被人掐断」,超时是「没人回应」。拒绝查端口和进程,重置查协议和线路,超时查可达性和丢包。先在日志里确认错误词,再用 curl 或端口探测验证,处理方向就不会跑偏。更多连接类问题见连接失败栏目与机场连不上的 10 步排查清单。
总结
- 拒绝 = 没人监听端口,重置 = 有人把连接掐断,超时 = 根本没有回应
- 本地代理端口上的拒绝是客户端问题,节点端口上的拒绝是订阅过旧或入口变更
- 重置频繁出现在特定协议或特定时段,换协议、换端口比换机场更有效
常见问题
Q机场连不上是什么原因?
看错误类型就能缩小范围:拒绝多是端口没对上或客户端没运行,重置多是协议被识别或节点主动断开,超时多是丢包或入口不可达。先在日志里找到具体错误词,再按类型处理。
Q机场节点全红怎么办?
全红且日志里是 connection refused,大概率是订阅里的节点端口已经变更,更新订阅即可;全红且是 reset,可能是整个入口被识别阻断,换协议或等待机场更换入口;全红且是 timeout,先排查本地网络。
Qv2rayN 连接失败怎么办?
先看 v2rayN 的日志窗口。本地端口被拒绝通常是核心没启动或端口被占用,换一个端口再启动;节点端被拒绝或重置则右键节点更新订阅并换一种协议测试。
Q机场被封了怎么办?
被封的典型表现是某一入口所有协议都被重置或超时,而其他入口正常。先换入口或换地区,再看机场公告。如果一家机场所有入口同时失效,只能等待官方更换地址,期间可用备用机场过渡。
Q机场节点丢包是什么意思?
丢包指数据包在传输途中丢失,需要重传。丢包不会直接产生拒绝或重置错误,但严重时会导致握手超时或长连接被对方判定为失效而重置。用 mtr 看最后几跳的丢包率可以判断。
参考资料与信息来源
- RFC 9293:Transmission Control Protocol (TCP) · RST 报文与端口未监听时的处理规定
- curl 文档:错误码说明 · curl 7 与 curl 56 的含义

