
最快解决（强制使用 HTTP/2 协议）防止clash干扰
cloudflared tunnel --protocol http2 run --url http://localhost:80 mac-mini-tunnel



cloudflared tunnel create mac-mini-tunnel

yml@ymlMacBook-Air ~ % cloudflared tunnel create mac-mini-tunnel
Tunnel credentials written to /Users/yml/.cloudflared/562f9639-71f2-44e0-a5ef-b34bd4e215e5.json. cloudflared chose this file based on where your origin certificate was found. Keep this file secret. To revoke these credentials, delete the tunnel.

Created tunnel mac-mini-tunnel with id 562f9639-71f2-44e0-a5ef-b34bd4e215e5
yml@ymlMacBook-Air ~ %


221329.cc.cd

4. # 例子：把 web.yourdomain.com 指向刚才创建的隧道
cloudflared tunnel route dns mac-mini-tunnel 221329.cc.cd


5. 启动隧道（临时/测试）
如果你只是临时跑一个服务（比如你 OrbStack 里的容器映射到了本地 80 端口）：

cloudflared tunnel run --url http://localhost:80 mac-mini-tunnel

-----
如果两台电脑**不会同时运行**（例如一台是公司的 iMac，一台是家里的 MacBook），那么处理起来就简单得多了。

在这种情况下，你可以直接采用 **“共用同一个 Tunnel ID”** 的方案。这在 Cloudflare 的术语中叫做多副本（Replicas），虽然你不是为了负载均衡，但它能完美解决你的需求。

### 实现方案：共用 Tunnel
你只需要确保两台电脑拥有完全一致的“身份令牌”和“配置文件”。

1.  **迁移证书与密钥：**
    * 在第一台电脑（已配置好）上，找到这两个文件：
        * `~/.cloudflared/cert.pem`（登录证书）
        * `~/.cloudflared/<Tunnel-ID>.json`（隧道的身份密钥）
    * 将它们拷贝到第二台电脑的 `~/.cloudflared/` 目录下。

2.  **同步配置文件：**
    * 将 `config.yml` 也拷贝过去。
    * **注意：** 确保两台电脑上运行的本地服务端口是一致的（比如都是 `localhost:8080`）。

3.  **直接运行：**
    * 在任意一台电脑上运行 `cloudflared tunnel run <隧道名>` 即可。

---

### 这样做的优势
* **域名无缝切换：** 你不需要在 Cloudflare 后台修改任何 DNS 记录。只要其中一台电脑开启了隧道，`example.yourdomain.com` 就会立即指向那台电脑。
* **无需重复配置：** 所有的路由规则（Ingress rules）都是一致的，维护起来非常省心。

### 注意事项
* **如果真的“不小心”同时运行了：**
    Cloudflare 会把它们当成一个隧道的两个节点。流量会以类似“轮询”的方式随机分配到两台电脑上。如果这时你的两台电脑跑的服务内容不一样，访问者可能会看到一会儿是 A 电脑的内容，一会儿是 B 电脑的内容。
* **路径一致性：**
    在 `config.yml` 中，`credentials-file` 的路径如果写的是绝对路径（如 `/Users/jack/...`），请确保两台电脑的用户名一致；如果不一致，记得修改配置文件里的路径。

---

**总结：**
既然不同时运行，那就把第二台电脑伪装成第一台电脑的“克隆体”。只需拷贝那几个关键文件，你就能实现在家、在公司用同一个域名访问不同的机器了。