Cloudflare Tunnel怎么用?无需公网IP部署网站的实战教程
2026-09-03 4 0
什么是Cloudflare Tunnel?
Cloudflare Tunnel是一种通过Cloudflare网络访问本地或内网服务的方案。它最大的特点是无需公网IP,也不需要在路由器上开放80、443等入站端口。只需要在运行网站的服务器上安装cloudflared,由它主动向Cloudflare建立出站连接,再把域名请求转发到本地网站。
例如,你家里的电脑运行着一个ASP.NET Core网站:http://localhost:5000,通过Cloudflare Tunnel后,用户访问:https://www.example.com,请求会先到达Cloudflare,再通过Tunnel转发到你的本地服务器。
这种方式尤其适合家庭宽带、没有公网IPv4的服务器、NAS以及临时开发环境。
使用Cloudflare Tunnel需要什么?
正式发布网站前,需要准备一个Cloudflare账号、一个已经接入Cloudflare的域名,以及一台能够访问互联网的服务器或电脑。Cloudflare目前的官方文档明确将Cloudflare账号+Cloudflare域名+安装cloudflared的服务器列为基本条件。
需要注意的是,Tunnel解决的是公网IP和入站连接问题,并不意味着网站本身可以脱离服务器运行。你的电脑、NAS或云服务器仍然需要保持在线。
创建Cloudflare Tunnel
登录Cloudflare控制台,进入 Networking → Tunnels,点击 Create Tunnel,输入Tunnel名称,然后根据服务器操作系统选择对应的cloudflared安装方式。
安装完成后,可以检查版本:
cloudflared --version
如果使用Linux,也可以直接按照Cloudflare控制台生成的命令完成安装和连接。
创建Tunnel以后,Cloudflare会提供连接所需的安装命令或Token。运行成功后,可以在Tunnel页面看到连接状态。官方文档目前推荐通过Dashboard创建Tunnel,对新用户来说比完全手动配置更加简单。
将网站绑定到域名
假设你的本地网站运行在:http://localhost:8080,进入刚创建的Tunnel,在 Routes 中选择 Add route → Published application。
然后设置:
Hostname:www.example.com
Service URL:http://localhost:8080
保存以后,Cloudflare会自动建立对应的DNS记录,将你的域名指向Tunnel。
如果采用命令行管理Tunnel,也可以使用:
cloudflared tunnel route dns my-tunnel www.example.com
然后启动Tunnel:
cloudflared tunnel run my-tunnel
这种方式本质上是把公网域名和本地服务地址关联起来。
Windows和Linux如何长期运行?
测试阶段可以直接执行cloudflared tunnel run,但生产环境不建议依赖手动启动。可以将cloudflared安装为系统服务,让服务器启动后自动建立Tunnel。
Linux通常可以使用:
sudo cloudflared service install <TUNNEL_TOKEN>
Windows则可以使用管理员权限运行:
cloudflared.exe service install <TUNNEL_TOKEN>
官方文档同时支持Windows、Linux和macOS等平台。
临时测试网站还有更简单的方法
如果只是测试,不想创建正式Tunnel,可以直接运行:
cloudflared tunnel --url http://localhost:8080
Cloudflare会生成一个随机的trycloudflare.com地址,可以直接通过公网访问本地服务。不过Quick Tunnel主要用于开发和测试,官方明确不建议将其作为生产环境方案,并且存在并发请求等限制。
Cloudflare Tunnel有什么优势?
相比传统的公网IP+端口映射方案,Cloudflare Tunnel不要求开放公网入站端口,服务器主动向Cloudflare建立连接,因此特别适合没有公网IPv4的网络环境。同时,网站流量可以经过Cloudflare网络,并使用CDN、WAF和DDoS防护等能力。
如果是后台管理系统、个人NAS等不希望完全公开的网站,还可以进一步结合Cloudflare Access进行身份验证,而不是单纯把服务暴露到公网。
总结
Cloudflare Tunnel的核心思路其实很简单:域名 → Cloudflare → Tunnel → 本地网站。不需要公网IP,也不需要传统的路由器端口转发,就可以让运行在家庭网络、内网服务器甚至开发电脑上的网站通过域名访问。
对于个人博客、家庭服务器、NAS、测试站点以及没有公网IP的环境来说,Cloudflare Tunnel是目前非常实用的部署方式。不过正式网站仍应做好系统更新、身份认证和应用自身安全配置,Tunnel并不能替代完整的网站安全措施。