收到!这个点非常关键,因为很多开发者会误以为在规则里写了 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 文件。
操作步骤:
- 打开 Shadowrocket,进入 “配置” 页面。
- 在当前使用的配置文件上点击 “i” (感叹号图标)。
- 选择 “文本配置”。
- 在
[General]段落(通常在前 5 行内)找到skip-proxy = ...这一行。 - 在原有内容末尾添加英文逗号
,,然后输入你的调试域名。
配置示例:
[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.com4. 总结
- DIRECT:流量进小火箭,但不走代理服务器。(不读本地 hosts)
- skip-proxy:流量不进小火箭,直接走系统底层。(读取本地 hosts,调试必备)
改完记得点击右上角保存,并重新开关一次小火箭确保配置生效。
SEO 关键词设置
- Primary Keywords: Shadowrocket 本地调试, Shadowrocket skip-proxy, 小火箭打不开 localhost
- Description: 解决开启 Shadowrocket 后本地 Hosts 失效、调试网站无法打开的问题。对比 DIRECT 与 skip-proxy 的本质区别,提供正确的文本配置方案。
这样写既突出了你的实战经验,又解释了底层原理,对 Google 搜索排名非常友好!

