konakona
Dream Afar.
konakona

在 macOS 上让 Valet 与 Clash 共存:解决 *.test 域名代理冲突

在 macOS 上让 Valet 与 Clash 共存:解决 *.test 域名代理冲突

使用 Laravel Valet 进行本地开发时,默认会将站点域名映射为 *.test。在启用了 Clash(或 Clash Verge)代理的情况下,浏览器请求 *.test 会被转发到代理通道,导致本地站点无法正常访问。

在尝试了很多方法后,我发现仅仅修改 Clash 配置不足以解决问题。追踪请求发现,浏览器始终遵循系统级代理,而系统层面并没有把 *.test 列入直连名单。于是只能双管齐下:同时改 Clash 规则 + macOS 代理设置。下面就是我踩坑后的完整解决方案,希望能帮到同样的你。

    修改 Clash 配置

    https://blog.img.crazyphper.com/2025/09/image-10-629x600.png
    进入 Clash 的配置目录

    在 Clash / Clash Verge 的代理配置文件中,添加如下设置 :

    # rules中增加直接放行 *.test 的规则
    rules:
      - 'DOMAIN-SUFFIX,test,DIRECT'
    
    # fake-ip 过滤中增加 +.test,防止 Clash 对 *.test 进行 fake-ip 映射
    fake-ip-filter:
      - +.lan
      - +.local
      - +.test
      # 其他保留项……

    如果你在用 Clash Verge,再把 *.test 加到 system_proxy_bypass

    system_proxy_bypass: 127.0.0.1/8,127.0.0.1,*.test

    改完别忘了重启 Clash 客户端。接下来,还需要对 macOS 系统代理配置进行调整。


    配置 macOS 系统代理绕过名单

    macOS 的网络服务会将系统代理信息下发给各应用。即使 Clash 中已有绕过规则,浏览器依旧以系统代理列表为准。我们可以通过查看当前 Wi-Fi 接口的 Proxy Bypass 列表来确认这一点,执行命令:

       networksetup -getproxybypassdomains "Wi-Fi"

    输出中没有 *.test,说明访问 *.test 走的是代理。我们需要写入绕过域名:

       sudo networksetup -setproxybypassdomains "Wi-Fi" \
         "127.0.0.1/8" "127.0.0.1" "*.test"
    https://blog.img.crazyphper.com/2025/09/QQ20250923-195545-800x248.png
    再次查看已有绕过域名

    最后我们来验证一下。回到终端随便访问一个Valet 站点:

    https://blog.img.crazyphper.com/2025/09/image-11-800x388.png

      只要响应头秒回且没有代理延迟,你就大功告成 🎉

      赞赏
      # #
      首页      System      OS X      在 macOS 上让 Valet 与 Clash 共存:解决 *.test 域名代理冲突

      团哥

      文章作者

      继续玩我的CODE,让别人说去。 低调,就是这么自信。

      konakona

      在 macOS 上让 Valet 与 Clash 共存:解决 *.test 域名代理冲突
      使用 Valet 进行本地开发时,如果启用了 Clash 就无法访问了,怎么办怎么办
      扫描二维码继续阅读
      2025-09-23