3.0 KiB
3.0 KiB
title | tags | categories | abbrlink | date |
---|---|---|---|---|
使用Cloudflare做HTTP内网穿透 | 383a561d | 2023-12-11 11:39:18 |
背景
家里有一台24小时运行的NAS,顺便跑了一些服务。当在公司时,需要访问这些服务,就比较麻烦。传统的方法使用frp做内网穿透。该方案需要一台公网服务器,且有被攻击的风险。
方案简单对比如下:
Frp | Cloudflare Tunnel | |
---|---|---|
成本 | 一台公网的服务器 | 一个域名 |
安全 | 自己保障 | 自带简单防护 |
速度/延迟 | 取决与服务器带宽和延迟 | 取决内网访问国外的质量 |
难度 | 需要一点点linux基础 | docker即可 |
增加服务的方式 | 客户端修改配置文件 | 网页操作 |
总结:
cloudflare除了延迟之外,其他的各方面都有众多优势,特别是安全性方面优势明显。同时因为延迟的问题,不建议做远程桌面等,HTTP的服务是比较适合的。
前提
- 内网24小时运行的主机
- 内网可以连接到cloudflare
- 注册cloudflare
- 有一个域名,并托管到cloudflare
- 内网连接外网稳定
部署流程
创建tunnels
进入账号,点击
然后点击
点击create tunnel
输入自定义的名字
然后就将进入到了安装服务的页面
这里可以选择多个安装方式,因为我平时使用docker,这里就用docker作为部署方式,复制命令,然后在运行docker
注意:这里是前台启动的方式,需要在命令中加 -d 作为后台启动
比如
docker run -d cloudflare/cloudflared:latest tunnel --no-autoupdate run --token XXXXX
等待服务启动后,页面下方会显示连接的客户端,点击Next
这里就是你配置内网映射的地方了
配置完成后,稍等1-2分钟,等待域名解析记录上传,然后就可以访问了。
多域名部署
tunnel并不是一个服务一个域名,可以做到一个服务映射多个服务,进入列表,点击配置
继续添加服务即可。