通过 Cloudflare Tunnel 内网穿透 实现公网访问内网服务
本文首发于只抄博客,欢迎点击原文链接了解更多内容。
前言
通过 Cloudflare Tunnel,我们可以直接把内网搭建的服务穿透到公网上,与 frp 不同的是,Cloudflare Tunnel 并不需要购买有公网 IP 的服务器,直接通过 Cloudflare 就可以完成穿透,并且还能使用 80/443 端口。要想使用 Cloudflare Tunnel 需要满足条件:
一个域名 (6-9位纯数字的 xyz 域名只需 0.67 美元一年)
一张双币信用卡 或 一个绑定借记卡的 PayPal 账号 (用于开通 Cloudflare Zero Trust 免费计划,推荐使用 PayPal 绑定一张余额 0 的借记卡,防止误操作造成扣费)
部署
打开 Cloudflare Zero Trust 工作台
创建 Cloudflare Zero Trust,选择免费计划
添加付款方式,可以输入双币信用卡或者在 Payment method 右侧选择 PayPal
在 Tunnels 中创建一个 Tunnel,名字可以随意填写
一般情况下推荐选择 Docker 进行部署
部分架构 (例如 arm) 无法通过 Docker 运行的,可以通过下载 release 中对应架构的版本进行手动安装
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-armhf.deb &&
sudo dpkg -i cloudflared.deb &&
sudo cloudflared service install
由于官方提供的部署命令没有给容器增加名称与后台运行功能,因此可以使用以下命令进行部署 (最后加上自己的 token)
docker run --name cloudflared -d --restart=unless-stopped cloudflare/cloudflared:latest tunnel --no-autoupdate run --token
容器部署成功后,就可以在给 Tunnel 添加 Public hostname
Domain 选择托管在 Cloudflare 的主域名
Subdomin 为需要访问的子域名
Type 内网服务一般选择 HTTP
URL 填写内网 IP + 端口
点击 Save hostname 保存后,稍等片刻,访问刚才设置的域名 (可以通过 https 进行访问,Cloudflare 会自动帮我们添加 SSL 证书),就能直接访问到内网部署的服务了
折腾的然爸
校验提示文案
值友2014461284
校验提示文案
wumin099
校验提示文案
wintsa123
校验提示文案
米菲的兔爸爸
校验提示文案
Jack1001
校验提示文案
Enzoo
校验提示文案
redfoxjin
校验提示文案
贱贱贱大叔
校验提示文案
中年老师伯
校验提示文案
值友6428841867
校验提示文案
杉杉不来迟
校验提示文案
王dude
校验提示文案
手机电脑家居智自动化
校验提示文案
長瀬湊
校验提示文案
segafans
校验提示文案
无字添书
校验提示文案
胖丁是宝
校验提示文案
胖丁是宝
校验提示文案
无字添书
校验提示文案
segafans
校验提示文案
長瀬湊
校验提示文案
手机电脑家居智自动化
校验提示文案
王dude
校验提示文案
wintsa123
校验提示文案
wumin099
校验提示文案
杉杉不来迟
校验提示文案
值友6428841867
校验提示文案
中年老师伯
校验提示文案
贱贱贱大叔
校验提示文案
redfoxjin
校验提示文案
Enzoo
校验提示文案
米菲的兔爸爸
校验提示文案
值友2014461284
校验提示文案
Jack1001
校验提示文案
折腾的然爸
校验提示文案