将你的笔记本电脑变成服务器:使用 Coolify 和 Cloudflare 隧道在本地托管 Web 应用

发布: (2026年2月25日 GMT+8 12:49)
5 分钟阅读
原文: Dev.to

Source: Dev.to

Note – 如果你的 ISP 允许普通的端口转发,你可以跳过隧道部分。
然而,许多 ISP 使用 CGNAT(运营商级 NAT)。在这种情况下,即使在路由器上配置了端口转发,你的公共 IP/端口也无法从外部访问。

如何判断你是否在 CGNAT 后面

  1. 检查路由器管理页面中显示的 WAN/Internet IP
  2. 访问类似的网站(例如 .)。
  3. 如果两个 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 – 部署演示项目

  1. 在 Coolify 中点击 Public Repository

  2. 粘贴仓库 URL(示例):

    https://github.com/vimal-verma/vimalverma.in
  3. 选择 Docker 作为 Build Pack 并点击 Continue

    Select Docker Build Pack

  4. 网络设置(后续自定义域名绑定时重要):

    • 暴露端口: 3000
    • 端口映射: 3000:3000
  5. 点击 Deploy

Coolify 将生成一个类似如下的临时 URL:

http://xo0gcogkks04ks4sgkk84oww..sslip.io

测试部署

  • 如果你使用的是 VPS 或者你的 ISP 没有使用 CGNAT,链接会立即生效。
  • 在本地可以通过 http://:3000/ 访问应用(例如 http://10.0.0.1:3000/)。

可选 – 绑定自定义域名

  1. 为你的域名添加指向公网 IP 的 A 记录。
  2. 在 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 仪表盘。

Routing custom domain to your app

如何为子域添加自定义链接

  1. 打开 Cloudflare

    • 前往 Dashboard → Networking → Tunnels
  2. 选择您的本地隧道

    • 点击您刚创建的隧道。
  3. 添加路由

    • Routes 部分,点击 Add routes
    • 选择 Published application
  4. 配置路由

    字段
    子域名www
    服务 URLhttp://localhost:3000

    点击 Add route 保存。

  5. 更新 Coolify 配置

    • 在 Coolify 仪表盘,前往 Projects → your project → Configuration → General
    • Domains 更改为 www.example.com
    • 保存更改并 Redeploy 项目。

您的本地托管应用现已上线,可通过 www.example.com 访问。

祝您自托管愉快!

0 浏览
Back to Blog

相关文章

阅读更多 »