Skip to content

用 Cloudflare Tunnel 和自定义域名发布本地 Web 服务 ​

版本与截图

本指南描述当前源码版本。已发布的安装包可能功能较少;请对照发布说明确认你安装的版本。截图使用演示数据和 Pro 示例状态。

当开发中的 Web 服务需要一个好记的域名时,Cloudflare Tunnel 可以把该主机名连到你的本地源站。Loris Tunnel 通过 cloudflared 管理本地托管的命名隧道,与你的 SSH 及其他连接并列。

用 Cloudflare Tunnel 和自定义域名发布本地 Web 服务

开始之前 ​

你需要一个 Cloudflare 账号、一个托管在 Cloudflare 的域名、授权相应域名区域的权限,以及一个可用的本地 HTTP 或 HTTPS 服务。本文使用 http://127.0.0.1:3000 和占位主机名 preview.example.com,请替换成你自己的值。

Loris 目前对该服务商只支持 HTTP 和 HTTPS 源站,并不提供独立 Cloudflare 平台支持的全部协议。

授权 Cloudflare ​

  1. 打开服务商 → Cloudflare,如需要先安装 cloudflared。
  2. 启动浏览器授权流程,选择你要使用的域名区域。
  3. 回到服务商页面,刷新可用域名与隧道资源。
  4. 在选择已有命名隧道之前,先确认授权状态与本地凭据。

底层证书与隧道凭据流程见 Cloudflare 的本地托管隧道指南。

建立主机名路由 ​

  1. 打开隧道,新增一条隧道并选择 Cloudflare。
  2. 设置本地 HTTP 或 HTTPS 源站,包含端口。
  3. 新建命名隧道,或绑定一个可用的已有 Tunnel ID。使用已有远端 ID 时,本机还必须具备可用的凭据。
  4. 选择已授权的域名并输入公网主机名。不要使用已分配给其他 Loris 隧道的主机名。
  5. 保存并启动。在把该主机名当作可用之前,先检查是否有 DNS 路由或授权错误。

DNS 路由把公网主机名与隧道关联起来。仅有 cloudflared 进程在运行,无法修正错误的主机名、缺失的 DNS 路由或不可用的源站。

理解本地凭据 ​

授权证书、域名区域授权数据和隧道凭据都保存在 ~/.cloudflared 下,位于普通的 Loris TOML 配置之外。Tunnel ID 只是一个标识,不能替代它的凭据。

在另一台电脑上,需要安装 CLI、授权相关账号与域名,并安全地提供对应的命名隧道凭据。恢复 TOML 不会转移这些本地文件。

验证服务 ​

先打开本地源站,然后启动隧道并查看日志。从目标访问者的环境打开公网主机名,并验证应用返回了真实响应。若源站是 HTTPS,连接失败时请单独检查源站的 TLS 配置。

发布主机名并不会为你的应用增加访问者认证。当访问需要受限时,请配置应用自身的认证或合适的 Cloudflare 访问策略。

常见问题 ​

为什么我的 Tunnel ID 提示缺少凭据? ​

远端资源可能存在,但它的凭据文件不在本机。请选择具备可用凭据的资源,或为该命名隧道补全本地凭据配置。

隧道在运行,为什么页面打不开? ​

请分别检查本地源站、所选域名授权、DNS 路由和公网主机名。监控指南解释了这些状态为何不同。

两条记录可以共用同一个主机名吗? ​

Loris 的配置会拒绝重复的 Cloudflare 主机名和重复的 Tunnel ID。请选择不同的主机名,或修改已有记录。

相关指南与下载 ​