使用 Cloudflare Tunnel(原名 Argo Tunnel)进行内网穿透是一种完全免费、不限速、自带 HTTPS 证书且不需要公网 IP 的终极方案。 [1, 2]
搭建方式主要分为两种:临时调试的快速隧道(无需注册)和长期稳定的固定域名隧道(通过网页控制台配置)。以下为您提供最常用的控制台可视化搭建(命名隧道)保姆级教程: [1]
🛠️ 前置准备
- 拥有一个 Cloudflare 账号。
- 拥有一一个域名,并将 DNS 解析服务器修改/托管在 Cloudflare。
- 激活 Cloudflare Zero Trust 服务(选择 Free(免费)计划,根据提示绑定双币信用卡或 PayPal 用于反滥用验证,完全不会扣费)。 [1, 2, 3]
1. 在 Cloudflare 控制台创建隧道
- 登录 Cloudflare Zero Trust 控制台。
- 在左侧菜单栏依次点击 Networks -> Tunnels,然后点击 Create a tunnel。
- 选择默认的 Cloudflared(推荐),点击 Next。
- 为你的隧道起一个名字(例如
Home-NAS),点击 Save tunnel。 [1, 2, 3]
2. 在内网设备上安装客户端 (Choose your environment)
系统会生成一个专属的安装命令,并附带一串很长的 token。根据你的内网设备系统选择执行: [1]
🐳 Docker 方式(最推荐,全平台通用)
直接复制网页上提供的 Docker 命令,或者在内网设备上运行以下命令(将 你的TOKEN 替换为网页上显示的实际 Token):
bash
docker run -d --name cloudflared --restart unless-stopped cloudflare/cloudflared:latest tunnel --no-autoupdate run --token 你的TOKEN
请谨慎使用此类代码。
🐳 Docker-compose 方式
version: '3.8'
services:
cloudflared:
image: cloudflare/cloudflared:latest
container_name: cloudflared
restart: unless-stopped
command: tunnel --no-autoupdate run --token eyJhIjoiZGE2ZDdjOWI0YWY4YTU5YmNkMmE2Nzk1M2Q1NDMxODAiLCJ0IjoiMDBhOGU5ZjQtMmQwOS00ZmYzLTlmYWMtMWQ5ODgzNGI5MGI0IiwicyI6Ik56UTV
token根据实际修改
🪟 Windows 系统
- 下载官方的 cloudflared-windows-amd64.msi 并安装。
- 以管理员身份打开 PowerShell,复制控制台 Windows 栏目下的高级命令(形如
cloudflared.exe service install 你的TOKEN)并运行。 [1]
🐧 Linux 系统 (Ubuntu/Debian)
控制台会直接提供一键脚本,直接复制到终端运行即可,例如:
bash
curl -L --output cloudflared.deb https://github.com &&
dpkg -i cloudflared.deb &&
cloudflared tunnel service install 你的TOKEN
请谨慎使用此类代码。
验证: 安装并运行成功后,回到 Cloudflare 网页刷新,会看到隧道的 Status 变成绿色的 HEALTHY(健康)。
3. 配置域名与内网服务映射 (Public Hostnames)
在网页控制台上切换到 Public Hostname 标签页,点击 Add a public hostname:
- Subdomain (子域名): 填写你想访问的名称,例如
nas。 [1] - Domain (域名): 选择你在 Cloudflare 托管的主域名(例如
yourdomain.com)。 [1] - Type (协议类型):
- 如果是网页服务(如宝塔、NAS 面板、青龙面板),选择 HTTP 或 HTTPS。
- 如果是远程桌面、SSH,选择 TCP。 [1]
- URL (内网地址): 填写你内网设备访问该服务的局域网 IP 和端口(例如
192.168.1.100:8080或localhost:80)。 [1, 2]
点击 Save hostname 保存。
🎉 享受内网穿透
配置完成后,Cloudflare 会自动帮你配置好 DNS 解析并申请 HTTPS 证书。你现在可以在外网通过 https://yourdomain.com 安全、免端口号地直接访问家里的内网服务了! [1, 2, 3]
💡 极简补充:如果只想临时调试(快速隧道)
如果你不需要固定域名,只是本地开发想临时给别人预览(比如前端跑在 localhost:3000):
- 电脑下载
cloudflared命令行工具。 - 终端直接输入:bash
cloudflared tunnel --url http://localhost:3000请谨慎使用此类代码。 - 终端会输出一个随机的
https://xxx.trycloudflare.com链接,关闭终端即失效。 [1]
發佈留言