Trojan 连接成功但无法打开网页怎么办

Trojan 客户端显示已连接但浏览器打不开网页时,按系统代理、代理模式、DNS、fake-ip 缓存、分流规则、节点出口六个方向排查,附浏览器与命令行两套验证方法。

Trojan 客户端显示「已连接」,浏览器却打不开网页或一直转圈,说明流量并没有真正经过代理,或代理链路中某一环出了问题。最常见的原因依次是:系统代理未生效、代理模式选错、DNS 解析失败,以及节点出口异常。第一步先在客户端里对当前节点做一次延迟测试——节点本身超时和「连接成功但不可用」是两类问题,判断清楚再往下查。本文面向 Clash 系、Shadowrocket、v2rayN 等客户端的普通用户,提供浏览器与命令行两套验证方法。

核心结论

  • 「已连接」只代表客户端在运行,不代表流量真的走了代理;
  • 全部网站打不开:优先查系统代理与 DNS;个别网站打不开:优先查分流规则与节点出口;
  • fake-ip 模式下切换节点或配置后,清一次 DNS 缓存或换无痕窗口再判断;
  • 命令行指定代理端口测试,是区分「浏览器问题」与「代理问题」的最快方法。

错误现象

客户端状态显示已连接或已启动,节点延迟测试可能正常;但浏览器打开网页无响应、转圈后报「无法访问此网站」,或只有部分网站失败。终端里的命令(如 curl)可能正常也可能同样失败,不同组合指向不同原因,下文分别处理。

适用环境

本文适用于在 Windows、macOS、iOS、Android 上使用 Trojan 节点的场景,客户端配置本身的问题可对照 Clash Meta 导入 Trojan 节点完整教程复核。若节点延迟测试直接超时,请先阅读 Trojan 节点显示 Timeout 的完整排查方法;更多同类文章见 Trojan 故障排查栏目

常见原因一览

原因典型特征对应小节
系统代理未生效命令行指定端口能通,浏览器不行第 1 步
代理模式选错规则模式下目标网站被分到直连第 2 步
节点自身不可用延迟测试超时,所有出站都失败第 3 步
DNS 解析失败或污染域名打不开,直接访问 IP 的服务正常第 4 步
fake-ip 与浏览器缓存切换节点/配置后时好时坏,无痕窗口正常第 5 步
分流规则或节点出口异常仅个别网站失败,其余正常第 6 步

按优先级排查

第 1 步:确认系统代理已生效

浏览器默认跟随系统代理。客户端的「系统代理」开关未开、端口被改动,或被其他代理软件覆盖时,浏览器流量仍在直连。

如何验证:Windows 在「设置 → 网络和 Internet → 代理」查看是否指向客户端监听地址(常见为 127.0.0.1:7890,以客户端显示为准);macOS 在「网络 → 详细信息 → 代理」查看。命令行做对照(端口按实际修改):

curl -x http://127.0.0.1:7890 -I https://www.example.com

命令行能返回响应而浏览器不行,即确认是系统代理或浏览器代理设置问题;检查浏览器是否安装了代理扩展并与客户端冲突。

第 2 步:检查代理模式

客户端一般提供规则、全局、直连三种模式。规则模式依赖分流规则判断走向,规则缺失或订阅未附带规则时,目标网站可能被错误地分到直连。

如何验证:临时切换到全局模式重试。全局下能打开,说明节点正常、问题在规则,转第 6 步细查;全局下仍打不开,继续第 3 步。

第 3 步:确认节点真实可用

「已连接」不等于节点可用,服务端到期、下线或出口故障时客户端往往仍显示连接状态。

如何验证:在客户端对当前节点执行延迟测试并换一个节点对照。当前节点超时而其他节点正常,直接切换节点即可;全部节点超时,转 Trojan 节点显示 Timeout 的完整排查方法

第 4 步:排查 DNS 解析

DNS 解析失败或被污染时,浏览器停在「正在解析主机」,表现与断网类似。

如何验证:命令行执行 nslookup www.example.com 看是否返回结果;失败或结果异常时,在客户端 DNS 设置中启用可靠的 DoH/公共 DNS 后重试。DNS 影响代理的完整机制与配置建议见 DNS 问题为什么会导致节点连接异常

第 5 步:清理 fake-ip 与浏览器缓存

Clash 系客户端的 fake-ip 模式会给域名返回虚假 IP,由内核在转发时映射回真实目标。切换配置、重启内核后,系统或浏览器仍缓存着旧映射,就会出现部分网站打不开、时好时坏。

如何验证:打开浏览器无痕窗口访问同一网站。无痕正常而普通窗口失败,即为缓存问题:Windows 执行 ipconfig /flushdns,重启浏览器;问题依旧则在客户端中清空 fake-ip 缓存(部分客户端提供该按钮)或重启设备。

第 6 步:定位分流规则与节点出口

只剩个别网站打不开时,先分清是规则还是出口:规则把该域名分到了错误出口,或节点出口 IP 被目标网站限制。

如何验证:在客户端「连接/日志」页观察访问该网站时命中的规则与出口节点。命中直连而预期走代理,补充或调整规则;规则正确仍失败,换 2-3 个不同地区节点对照,均失败则该网站对当前服务出口有严格限制,属于节点出口能力问题,可反馈服务方。

不同设备的差异

  • Windows/macOS:重点查系统代理开关与安全软件对本地回环端口的拦截;浏览器代理扩展与客户端只保留一个;
  • iOS(Shadowrocket 等):走 VPN 配置而非系统代理,若状态栏无 VPN 图标,先在系统设置中重新允许 VPN;
  • Android:部分厂商系统会在后台冻结代理应用,导致连接名存实亡,为客户端关闭电池优化后重试。

仍然失败时如何定位问题来源

以上步骤走完仍无法上网,按「换浏览器 → 换设备 → 换网络 → 换节点」的顺序做替换测试,每次只改一个变量,即可把问题压缩到客户端、节点、线路或本地网络之一。系统化的判断方法见如何判断问题来自客户端、节点、线路还是本地网络

相关术语

Trojan 协议 · DNS · TLS · 订阅链接

更新记录

  • 2026-07-22:首次发布。

常见问题

客户端显示已连接,是不是就代表节点一定可用?
不是。「已连接」通常只表示客户端进程已启动并接管了配置,或与节点完成过一次连接,不代表当前每一个请求都能成功代理。判断节点是否真正可用,应以延迟测试结果和实际访问效果为准,两者都正常才能排除节点因素。
为什么命令行能通过代理访问,浏览器却打不开网页?
命令行测试时手动指定了代理端口,而浏览器依赖系统代理设置。这种差异说明节点和客户端都正常,问题出在系统代理未开启、被其他软件覆盖,或浏览器自身配置了不同的代理。开启客户端的系统代理开关并检查浏览器代理设置即可。
切换节点后网页时好时坏,和浏览器缓存有关系吗?
有可能。浏览器会缓存 DNS 结果和连接,客户端使用 fake-ip 模式时,切换配置或重启后旧的虚假 IP 缓存可能失效,表现为部分网站打不开。用无痕窗口对照测试,或清空系统与浏览器 DNS 缓存后重试,即可确认是否为缓存问题。
只有个别网站打不开,其他网站都正常,是节点坏了吗?
不一定。个别网站失败更常见的原因是分流规则把该网站分到了错误的出口(如该走代理的走了直连),或节点出口 IP 被目标网站限制。切换到全局模式对照测试:全局下能打开说明是规则问题,仍打不开则更换节点再试,即可区分两种情况。

参考资料

本文最后更新于 。如发现内容过时,欢迎通过联系页面反馈。

本文由 Trojan Lab 技术审核组 审核,采编标准见编辑政策