将你的笔记本电脑变成服务器:使用 Coolify 和 Cloudflare 隧道在本地托管 Web 应用
Source: Dev.to
Note – 如果你的 ISP 允许普通的端口转发,你可以跳过隧道部分。
然而,许多 ISP 使用 CGNAT(运营商级 NAT)。在这种情况下,即使在路由器上配置了端口转发,你的公共 IP/端口也无法从外部访问。
如何判断你是否在 CGNAT 后面
- 检查路由器管理页面中显示的 WAN/Internet IP。
- 访问类似的网站(例如 .)。
- 如果两个 IP 不同,则说明你在 CGNAT 后面。
典型的 CGNAT 范围:100.64.0.0 – 100.127.255.255。
如果你在 CGNAT 后面,Cloudflare Tunnels 可以解决此问题。
Coolify 为你提供了一个美观的 UI 来管理和部署多个项目。
第一步 – 安装 Coolify
运行安装脚本(如果需要也会安装 Docker):
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
安装完成后
- 本地机器 – 在浏览器中打开
http://localhost:8000并创建根用户。 - VPS – 打开
http://:8000。
现在您将看到 Coolify 仪表盘,已准备好部署 Node.js、Next.js、Python、WordPress、数据库等。
步骤 2 – 部署演示项目
-
在 Coolify 中点击 Public Repository。
-
粘贴仓库 URL(示例):
https://github.com/vimal-verma/vimalverma.in -
选择 Docker 作为 Build Pack 并点击 Continue。

-
网络设置(后续自定义域名绑定时重要):
- 暴露端口:
3000 - 端口映射:
3000:3000
- 暴露端口:
-
点击 Deploy。
Coolify 将生成一个类似如下的临时 URL:
http://xo0gcogkks04ks4sgkk84oww..sslip.io
测试部署
- 如果你使用的是 VPS 或者你的 ISP 没有使用 CGNAT,链接会立即生效。
- 在本地可以通过
http://:3000/访问应用(例如http://10.0.0.1:3000/)。
可选 – 绑定自定义域名
- 为你的域名添加指向公网 IP 的 A 记录。
- 在 Coolify 仪表盘中,将 Domain 字段设置为你的域名,保存并重新部署。
Source:
第 3 步 – 使用 Cloudflare 隧道绕过 CGNAT
如果第 2 步的公共链接不可访问(通常是因为 CGNAT),请通过 Cloudflare 隧道公开仪表盘。
1. 安装 cloudflared
从官方文档下载二进制文件。
2. 认证
cloudflared tunnel login
3. 创建隧道
cloudflared tunnel create <NAME>
该命令会返回一个 UUID – 复制它;后续在配置文件中需要使用。
4. 创建配置文件
# ~/.cloudflared/config.yml
url: http://localhost:8000
tunnel: <UUID>
credentials-file: /root/.cloudflared/<UUID>.json
5. 路由 DNS 子域名
确保你的域名已经添加到 Cloudflare。
cloudflared tunnel route dns <NAME> <subdomain.example.com>
6. 运行隧道
cloudflared tunnel run <NAME>
如果有多个隧道,请指定配置文件路径:
cloudflared tunnel --config /path/to/config.yml run <NAME>
7. 验证
cloudflared tunnel info <NAME>
现在 https://subdomain.example.com 能安全地提供你的 Coolify 仪表盘,即使在 CGNAT 环境下也能访问。使用第 1 步创建的相同邮箱/密码登录即可。
🎉 完成啦!
- 本地部署 可通过
http://localhost:8000(或你的局域网 IP)访问。 - 公网访问 可通过 Cloudflare Tunnel URL 或指向该隧道的自定义域名访问。
在自己的硬件上尽情享受完整的自托管、类似 Vercel 的平台吧! 🚀
第 4 步 – 将自定义域名路由到您的应用
现在隧道已激活,您可能想直接将流量路由到 已发布的应用(运行在 3000 端口),而不是 Coolify 仪表盘。
如何为子域添加自定义链接
-
打开 Cloudflare
- 前往 Dashboard → Networking → Tunnels。
-
选择您的本地隧道
- 点击您刚创建的隧道。
-
添加路由
- 在 Routes 部分,点击 Add routes。
- 选择 Published application。
-
配置路由
字段 值 子域名 www服务 URL http://localhost:3000点击 Add route 保存。
-
更新 Coolify 配置
- 在 Coolify 仪表盘,前往 Projects → your project → Configuration → General。
- 将 Domains 更改为
www.example.com。 - 保存更改并 Redeploy 项目。
您的本地托管应用现已上线,可通过 www.example.com 访问。
祝您自托管愉快!
