最近做内雕项目重构,在个人电脑上搭建了一个测试网站,于是有了这次分享。主题是”如何把本地网站发布到公网“。网站发布到公网有多种方式实现,通常可以购买公网IP/域名、路由器商品映射、花生壳等。今天分享一种更简单、更安全的方案。
我即将通过实际案例,介绍如何利用 Cloudflare Tunnel 将本地网站发布到公网。
先自问自答两个问题:
一、先了解什么是Cloudflare tunnel?
你将它理解为 Cloudflare 推出的免费内网穿透工具就成
二、Cloudflare tunnel能做什么?
- 本地开发项目临时预览
- 家庭 NAS / 私有服务远程访问
- 内网工具 / 测试环境对外发布
- 替代 VPN,远程办公接入内网系统
- 小型个人站点 / 轻量服务部署(下面示例讲的就是这个)
以下为Cloudflare Tunnel 的几点优势
1、不需要公网 IP
2、不需要端口映射
3、自动 HTTPS
4、隐藏真实 IP
5、免费使用部分Cloudflare WAF 防护
场景:个人网站
例如:
localhost:5173
运行着 Vue 项目。
通过Tunnel后:
浏览器中输入:https://light.example.com/ 即可公网访问。(假如你已有域名:example.com)
注:如果没有域名,cf会自动生成一个临时域名,这个域名较长,不好记,而且不固定
以下手把手教你如何搭建
搭建前准备
1、Cloudflare 账号:免费注册即可,Cloudflare 官网;https://www.cloudflare.com/
2、托管在 Cloudflare 的域名:买个10几块钱的就行,购买后登录域名服务端将,将 DNS 服务器改为 Cloudflare 的。修改成功后可以在Cloudflare 网站-》域名中看到状态。如下图:

3、本地设备:Windows/macOS/Linux 均可,能联网就行
第一步:安装 cloudflared 客户端
1、Windows 安装
方式 1(winget,一键安装):PowerShell 输入
winget install cloudflare.cloudflared
运行
方式 2(手动下载):去cloudflared Releases(Releases · cloudflare/cloudflared · GitHub),下载cloudflared-windows-amd64.exe,修改名称为cloudflared.exe后放到自定义目录(如D:\cloudflared),在系统默认路径PATH中增加D:\cloudflared
验证安装:cmd终端输入cloudflared --version,输出版本号即成功。
2、验证安装:cmd终端 输入cloudflared --version,输出版本号即成功
第二步:登录认证,绑定 Cloudflare 账号
1、在浏览器中打开https://www.cloudflare.com/ 并登录。直接跳过这一步,第2点会失败。已踩过坑
2、首次使用需认证客户端,关联你的 Cloudflare 账号。
在cmd终端输入:cloudflared tunnel login。会自动弹出浏览器,确认即可,授权后返回 “Success”,凭证文件默认生成在C:\Users\你的用户名.cloudflared\目录。
第三步:创建隧道(命名 + 生成唯一 ID)
隧道是核心标识,每个隧道对应一组内网服务。
在cmd终端输入(自定义隧道名,如my-dev-tunnel):cloudflared tunnel create my-dev-tunnel
输出类似:
Created tunnel my-dev-tunnel with id: f1a3d2c4-xxxx-yyyy-zzzz-abcdefghijkl
Tunnel credentials written to C:\Users\用户名.cloudflared\f1a3d2c4-xxxx-yyyy-zzzz-abcdefghijkl.json
重要提示:记录隧道 ID和凭证文件路径,后续配置必须用
第四步:配置 DNS 路由(绑定子域名)
将自定义子域名(如light.example.com)绑定到隧道,Cloudflare 会自动生成 CNAME 解析记录。
cmd终端输入(替换为你的隧道名和子域名):cloudflared tunnel route dns my-dev-tunnel light.example.com
提示 “Route added” 即成功,可去 Cloudflare 控制台→DNS,查看新增的 CNAME 记录
第五步:编写配置文件(config.yml,核心映射规则)
配置文件作用是定义 “子域名→内网服务” 的映射关系,一个隧道可映射多个服务。
1、在D:\cloudflared目录新建config.yml;
2、写入以下内容,下图为我本地配置,供参考:
第六步:启动隧道,后台稳定运行
1、临时启动(测试用,关闭窗口即停止)
cmd终端 输入:cloudflared --config D:\cloudflared\config.yml tunnel run
输出 “Connected to Cloudflare” 即隧道建立成功,状态为Healthy
我自己整了一个bat脚本,想启动时双击bat脚本即可,如下图:
2、后台常驻(Windows 服务,开机自启)
留给佬们自己偿试
大功告成。配置完成后,重启本地服务,访问https://light.example.com 即可正常打开。本次仅亲测个人电脑部署网站这个功能,至于CF其他功能佬友们自行测试
1 个帖子 - 1 位参与者