共计 1283 个字符,预计需要花费 4 分钟才能阅读完成。
早就听说过了 Cloudflare tunnel 的鼎鼎大名,起初预想的是不过跟普通的内网穿透没什么区别,没想到用了以后发现着实是方便。
一、注册
前置条件
- 至少有一个域名托管到 CF
- 一张境外可以使用的信用卡(仅用于添加付款方式)
1. 打开面板
地址:https://one.dash.cloudflare.com/
2. 创建team
随意填写 team name。
3. 选择计划
选择免费计划即可。
4. 添加付款方式
这里需要境外可以使用的信用卡,visa、万事达等。
5. 填写信息
填写信用卡信息,仅验证,不会扣款。
二、基本使用
1. 创建 Tunnel
Tunnel 名称随意填写。
2. 部署 Cloudflared
根据自己本地机器的类型和自己的喜好部署 Cloudflared,这里为了方便就使用 docker 进行部署。
点击任意方式获取到 token 后,将 token 替换下面命令的字符串后运行即可。
docker run -d \
--net host \
--name cloudflared \
--restart unless-stop \
cloudflare/cloudflared:latest \
tunnel --no-autoupdate run --token <YourToken>
3. 配置
配置一个子域名(Subdomain),Path 留空,URL 处填写内网服务的IP加端口号。注意 Type 处建议使用 HTTP,因为 Cloudflare 会自动提供 HTTPS,因此此处的转发目标可以是 HTTP 服务端口。
这里如果其他的协议,比如 ssh 协议,进行 ssh 的客户端也需要安装 cloudflared
有可能不是第一次配置就找不到这个界面了,只需要点击 Tunnel 进配置,然后切换到 Public hostnames
标签,点击 Add a public hostname
按钮即可。
4. 完成
接着访问刚刚配置的三级域名,例如 https://app.yourdomain.com 就可以访问到内网的非公端口号服务了。一个 Tunnel 中可以添加多条三级域名来跳转到不同的内网服务,在 Tunnel 页面的 Public Hostname 中新增即可。
三、添加额外验证
如果觉得这种直接暴露内网服务的方式有较高的安全风险,还可以使用 Application 功能为服务添加额外的安全验证。
1. 点击 Application
创建 Application
2. 选择 Self-hosted
3. 填写配置
注意 Subdomain 和 Domain 需要使用刚刚创建的 Tunnel 服务相同的 Domain 配置。
4. 选择验证方式
填写 Policy name(任意)。在 Include 区域选择验证方式,示例图片中使用的是 Email 域名的方式,用户在访问该网络时需要使用指定的邮箱域名(如@gmail.com)验证,这种方式比较适合自定义域名的企业邮箱用户。另外还可以指定特定完整邮箱地址、IP 地址范围等方式。
5. 完成添加
此时,访问 https://app.yourdomain.com 可以看到网站多了一个验证页面,使用刚刚设置的域名邮箱,接收验证码来访问。
本文大部分内容来自:https://sspai.com/post/79278
提醒:本文发布于353天前,文中所关联的信息可能已发生改变,请知悉!