Mihomo 代理连接成功但打不开网页怎么办?
简答:Mihomo 显示“已连接”只代表内核或节点状态正常,不代表浏览器请求已经进入代理并成功返回。最快的判断方法是先打开连接列表或实时日志:没有新请求,优先查系统代理、浏览器代理、TUN 和端口;有请求但失败,再按规则、DNS、节点和 TLS 报错分流。
定义:“Mihomo 代理连接成功但打不开网页”是指客户端、配置或节点显示在线,但浏览器请求未被正确接管,或请求进入 Mihomo 后在规则、DNS、连接、TLS 等环节失败。
先试这一步:看连接列表有没有浏览器请求
不要一开始就换节点、改 DNS 或重写配置。先在 Mihomo 图形客户端打开“连接”“Connections”或类似页面,同时刷新一个网页,观察是否出现新的目标域名、进程名、连接链和匹配规则。Mihomo 的控制 API 可以提供当前连接、目标地址、进程、代理链、匹配规则和规则内容等信息,具体入口名称以当前客户端为准。Mihomo 官方 API 文档
| 观察结果 | 优先判断 | 下一步 |
|---|---|---|
| 完全没有新请求 | 浏览器流量没有进入 Mihomo | 检查系统代理、浏览器独立代理、TUN/VPN 权限和本地端口 |
| 出现请求,但规则为 DIRECT | 请求被直连,未按预期走代理 | 检查模式、规则顺序和策略组 |
| 出现请求,但规则为 REJECT | 规则主动拒绝了请求 | 查看命中的规则,暂时切换到全局模式复测 |
| 出现请求并选择代理,但超时 | 节点、网络路径或 DNS 可能失败 | 换一个节点做单变量对照,再看日志关键词 |
| 出现请求并成功返回 | Mihomo 链路基本正常 | 检查浏览器缓存、扩展、目标网站或单个域名规则 |
如果使用控制 API,日志接口可以按 info、warning、error 或 debug 级别读取实时日志;连接接口还可以查看匹配规则和代理链。不要把订阅地址、节点密码、API 密钥或完整日志直接发到公开论坛。官方 API 与日志说明
按最短路径排查:系统代理、端口与模式
- 关闭 Mihomo 后确认基础网络。暂时退出代理或关闭系统代理,访问一个平时能打开的普通网页。如果关闭后仍打不开,先处理本地 Wi-Fi、网线、系统网络、浏览器或防火墙问题;不要把基础网络故障归咎于节点。
- 确认当前配置确实正在运行。在客户端查看当前活动配置,而不是只看配置文件是否导入。检查当前模式、代理组、节点选择、mixed-port 或其他入站端口。Mihomo 可以通过 HTTP、SOCKS、Mixed 等代理端口接收流量,TUN 则负责接管系统流量;端口和接管方式不是一回事。Mihomo 入站配置文档
- 检查系统代理是否指向同一个端口。如果客户端监听的是某个 Mixed 端口,系统代理或浏览器独立代理也必须指向当前实际监听的地址和端口。不要直接套用网上常见的固定端口,因为不同配置和客户端可能不同。官方文档说明 Mixed 端口同时支持 HTTP(S) 与 SOCKS5,但实际值仍应以当前运行配置为准。Mihomo 代理端口文档
- 检查模式与策略组。如果当前是规则模式,网页可能被规则送到 DIRECT 或 REJECT。先记录原来的模式和节点,再临时切换到全局模式,选择一个明确的代理组或节点,只刷新同一个网页。Mihomo 规则按从上到下的顺序匹配,前面的规则优先;命中 MATCH 后会匹配所有请求。Mihomo 路由规则文档
如果全局模式可以打开,规则或策略组就是重点;如果全局模式也打不开,则继续检查端口、DNS、TUN、节点和本地网络。一次只改变一个变量,并记录改动前的配置,便于回滚。
Windows、macOS、Android 分平台检查
Windows
- 打开系统网络代理设置,确认手动代理的地址和端口与 Mihomo 当前监听值一致;如果使用 TUN,则确认 TUN 已启用且客户端拥有必要权限。
- 检查浏览器是否安装了独立代理扩展。浏览器扩展可能覆盖系统代理,测试时可以暂时停用或恢复为跟随系统设置。
- 如果日志完全没有浏览器请求,优先检查系统代理开关、浏览器独立代理和本机端口占用;如果请求出现但 DNS 或 TLS 报错,再进入对应分支。
- 若启用 TUN 后所有网页都打不开,先关闭 TUN,恢复系统代理方式复测。官方文档说明 Windows 上 TUN 的严格路由还涉及 DNS 泄漏防护,并可能影响部分虚拟化软件,因此不要在未记录原配置的情况下连续修改多项参数。Mihomo TUN 官方文档
macOS
- 确认系统代理中的 HTTP、HTTPS 或 SOCKS 设置没有残留旧端口;退出 Mihomo 后,检查是否恢复为关闭代理或自动配置。
- 如果使用 TUN,确认客户端确实创建了 TUN 接口并获得系统许可。macOS 的 TUN 设备名称和接管方式受当前客户端与配置影响,不要照抄其他系统的字段。
- 浏览器打不开但命令行可以访问时,检查浏览器扩展、独立代理和缓存;命令行也失败时,再看 Mihomo 日志中的 DNS、超时和 TLS 关键词。
Android
- 确认 Mihomo 获得 VPN 权限,且系统没有同时运行另一个 VPN、网络防护或代理应用。测试时只保留一个流量接管工具。
- 如果只部分应用打不开,检查 TUN 的应用包含或排除设置;官方 TUN 配置支持按 Android 应用包名包含或排除应用。Mihomo TUN 配置说明
- 如果启用了系统“私人 DNS”,DNS 劫持可能无法按预期接管;可暂时恢复为自动或关闭私人 DNS 后复测,并在问题解决后决定是否恢复原设置。官方文档明确提示 Android 开启私人 DNS 时,DNS 请求不能被自动劫持。
按日志关键词分流:DNS、连接、TLS 还是规则
| 日志或现象 | 常见故障层 | 处理动作 |
|---|---|---|
| connection refused | 本地端口或远端连接被拒绝 | 核对代理地址和端口;确认节点仍在当前配置;检查端口冲突 |
| i/o timeout、timeout | 连接超时、节点路径或本地网络 | 先关闭代理验证基础网络,再只换一个节点复测 |
| DNS timeout、no such host | 域名解析失败 | 检查 DNS 是否启用、名称服务器是否可达、TUN DNS 接管是否生效 |
| TLS handshake failed | TLS 握手、时间、证书或链路问题 | 确认系统时间;换一个节点或目标域名复测;不要直接关闭证书校验 |
| 规则命中 DIRECT | 规则把请求送直连 | 查看规则顺序,临时切全局模式对照 |
| 规则命中 REJECT | 请求被规则拒绝 | 确认是否为预期规则;测试时不要直接删除整份规则集 |
Mihomo 的 DNS 配置包括 nameserver、fallback、nameserver-policy、proxy-server-nameserver 和 direct-nameserver 等不同用途,不能因为“换一个公共 DNS”就认定问题一定能解决。先判断是普通网页域名解析失败,还是代理节点域名本身无法解析,再选择对应配置检查。Mihomo DNS 官方文档
如果只是少数域名打不开,重点看该域名命中的规则、DNS 策略和 Fake-IP 过滤;如果所有域名都打不开,优先看请求是否进入 Mihomo、端口是否正确、节点是否能建立连接。DNS 文档还说明 Fake-IP、redir-host 和 DNS 劫持属于不同处理方式,修改前应保存原配置。
最小复测方案:一次只改变一个变量
- 基线测试:关闭 Mihomo 或系统代理,确认普通网页是否可打开,并记录浏览器报错。
- 入口测试:重新启动 Mihomo,只开启一种接管方式:系统代理或 TUN,先不要同时启用多个代理软件。
- 请求测试:刷新同一个网页,观察连接列表是否出现浏览器进程、目标域名、匹配规则和代理链。
- 模式测试:保留当前节点不变,只把规则模式临时切换为全局模式。如果恢复,回到规则列表定位 DIRECT、REJECT 或错误策略组。
- 节点测试:保留模式不变,只换一个节点。如果新节点正常,说明问题更可能位于原节点路径或节点本身;但测速成功不等于所有目标网页都能访问,仍需用实际网页复测。
- DNS 测试:只刷新 DNS 或 Fake-IP 缓存,不要同时改 nameserver、TUN 和规则。Mihomo API 文档提供 DNS 缓存和 Fake-IP 缓存清理接口,图形客户端通常也会提供相应按钮。Mihomo API 文档
- 回滚:如果改动后问题扩大,恢复备份配置,关闭 TUN,关闭系统代理,再重新启动客户端,确认系统网络回到基线状态。
命令行也可以用于验证显式代理,但必须把示例中的地址和端口替换为当前实际值,并且不要把真实订阅链接或凭据写进截图。示例:curl -I -x http://127.0.0.1:YOUR_MIXED_PORT https://example.com。命令成功只能说明该命令通过指定代理完成了请求,不代表浏览器、其他应用或所有域名都正常。
仍然打不开时,按四类场景定位
- 所有网站都打不开:优先回到“连接列表有没有请求”。没有请求查入口、端口和 TUN;有请求查节点、DNS 和日志。
- 只有部分网站打不开:检查规则命中、DIRECT/REJECT、域名解析策略和 Fake-IP 过滤,不要马上更换整份配置。
- 浏览器能用,App 不能用:通常是 App 没有使用系统代理,或需要 TUN/VPN 接管。Android 还要检查应用包含与排除规则。
- 退出 Mihomo 后网络恢复不了:先重新打开客户端并关闭系统代理、TUN 和 VPN 权限,再退出;仍异常时检查系统代理残留、VPN 配置和网络接口。不要在未恢复基线前继续导入新配置。
资料核验日期:2026-11-02。本文仅依据 Mihomo 官方文档和官方代码仓库公开资料整理;客户端图形界面的菜单名称、默认端口、配置来源和具体版本可能不同,应以当前运行配置与客户端界面为准。当前版本号不作为本文排障前提,需要核实时请在客户端或控制 API 查询运行版本。官方 API 提供版本查询接口,官方仓库发布页可用于核对发行资源。版本查询 API 官方发布页
常见问题
Mihomo 显示已连接,为什么浏览器还是打不开网页?
“已连接”通常只说明内核或节点状态正常,不能证明浏览器请求已经进入 Mihomo。先看连接列表或实时日志:没有请求就查系统代理、浏览器独立代理、TUN 和端口;有请求则看规则、DNS、节点和 TLS 报错。
Mihomo 需要固定使用某个端口吗?
不需要。端口由当前配置和客户端决定,不能直接套用其他教程中的固定数字。确认系统代理或浏览器代理指向当前运行配置里的实际监听地址和端口;Mixed 端口支持 HTTP(S) 与 SOCKS5,但具体端口仍以当前配置为准。
切换全局模式后网页能打开,说明什么?
这通常说明入口和节点基本可用,问题更可能在规则顺序、策略组或 DIRECT/REJECT 命中结果。保留节点不变,回到规则和连接详情中查看具体命中项,再逐条定位,不建议直接删除整份规则。
Mihomo DNS 应该怎么改才不会越改越乱?
先确认日志是否真的出现 DNS timeout 或解析失败。只在证据指向 DNS 时修改,并先备份配置;不要同时改 nameserver、fallback、Fake-IP、TUN 和规则。修改后只刷新 DNS 缓存,再用同一个域名复测。
测速正常但网页仍然打不开,节点是不是一定没问题?
不一定。测速只反映特定测试地址和测试时刻,不能代表所有域名、协议和规则都正常。应使用实际目标网页复测,并结合连接列表中的规则、代理链和日志判断故障位置。