收到!这个点非常关键,因为很多开发者会误以为在规则里写了 DIRECT(直连)就能读取本地 hosts 文件,但实际上小火箭的 TUN 接管优先级高于系统 hosts

为了 SEO 效果和内容的专业性,我把这个“坑”作为核心避坑指南加入到了文章中。


博客文章标题建议

《彻底解决 Shadowrocket 开启后无法访问本地调试网站(skip-proxy 配置全攻略)》


博客正文

1. 现象描述

在本地开发环境(如使用 Nginx, Apache 或 Node.js)调试网站时,如果你开启了 Shadowrocket (小火箭),经常会遇到即便设置了域名直连,依然无法打开网页的情况。

很多同学(包括我以前)会尝试在配置文件里写:
DOMAIN-SUFFIX,xxx.com,DIRECT

但结果是:依然打不开!

2. 为什么 DIRECT 规则无效?(避坑指南)

这是一个非常容易踩的坑。在 Shadowrocket 的运行逻辑中:

  • DIRECT 规则: 虽然是“直连”,但流量依然经过了小火箭内核。小火箭会尝试用它自己的 DNS 设置去解析 xxx.com
  • 本地 Hosts 失效: 由于小火箭接管了系统的网络层,它会跳过你系统自带的 hosts 文件。哪怕你在系统 hosts 里写了 127.0.0.1 xxx.com,小火箭还是会去公网查询这个域名,导致解析到错误的 IP 或直接连接超时。

结论: 想在开启小火箭时访问本地调试域名,设置 DIRECT 是没用的,必须配置 skip-proxy

3. 正确配置方法:修改 skip-proxy

skip-proxy 的作用是告诉小火箭:“这些域名的流量你完全不要碰,直接还给系统处理。”这样系统才会去读取你本地的 hosts 文件。

操作步骤:

  1. 打开 Shadowrocket,进入 “配置” 页面。
  2. 在当前使用的配置文件上点击 “i” (感叹号图标)
  3. 选择 “文本配置”
  4. [General] 段落(通常在前 5 行内)找到 skip-proxy = ... 这一行。
  5. 在原有内容末尾添加英文逗号 ,,然后输入你的调试域名。

配置示例:

[General]
bypass-system = true
# 在这一行后面加上你的域名,例如 xxx.com
skip-proxy = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, localhost, *.local, xxx.com

4. 总结

  • DIRECT:流量进小火箭,但不走代理服务器。(不读本地 hosts)
  • skip-proxy:流量不进小火箭,直接走系统底层。(读取本地 hosts,调试必备)

改完记得点击右上角保存,并重新开关一次小火箭确保配置生效。


SEO 关键词设置

  • Primary Keywords: Shadowrocket 本地调试, Shadowrocket skip-proxy, 小火箭打不开 localhost
  • Description: 解决开启 Shadowrocket 后本地 Hosts 失效、调试网站无法打开的问题。对比 DIRECT 与 skip-proxy 的本质区别,提供正确的文本配置方案。

这样写既突出了你的实战经验,又解释了底层原理,对 Google 搜索排名非常友好!

最后修改:2026 年 04 月 14 日 11 : 21 AM
如果觉得我的文章对你有用,请随意赞赏