使用 Cloudflare Tunnel 暴露内部服务

status
Published
type
Post
slug
cloudflare-tunnel-sample
date
Sep 13, 2023
tags
Cloudflare
Tool
Config
summary
Cloudflare Tunnel 是一种免费的内网穿透工具,可以将内部服务暴露到公网上。它通过创建加密通道,在无需公网 IP 和开放端口的情况下,让服务可以公网访问。你可以使用 cloudflared 命令行工具来管理和配置 tunnel。安装并登录授权后,可以通过命令快速创建 tunnel 连接。然后,你需要添加域名 CNAME 记录,并创建 config 配置文件来指定服务映射。验证和测试配置后,你可以运行 tunnel 并将其配置为系统服务。最后,通过一系列命令,你可以管理和控制 tunnel 的运行。
Cloudflare Tunnel 是Cloudflare Zero Trust 中的一个产品,基于此产品可以在你的服务器与Cloudflare的边缘节点间开启一条加密通道,从而在无需公网IP,无需开放服务器端口的情况下将响应的服务实现公网可访问,关键这一切还都是免费的!
notion image
notion image

配置操作

服务器上是通过cloudflared 的命令行工具来管理tunnel的。可以在页面上手动创建tunnel,并根据相应提示在服务器上执行对应的操作安装并建立连接。
notion image
当然也可以通过其他包管理工具来进行安装,具体可参考官方文档:

安装 cloudflared / 登录授权

此时终端会显示URL,在浏览器中打开会提示您登录 Cloudflare 账户。登录后,选择您的主机名。 此外还会在默认的 cloudflared 目录(~/.cloudflared)中生成账户证书—— cert.pem 文件。
notion image
完成登录授权后,作为开发者可利用如下命令快速创建 tunnel 连接:

创建 tunnel

notion image

添加域名CNAME记录

如有多个其他域名需要绑定,需要在Dashboard网页中添加DNS记录,类型为CNAME,记录值为<UUID>.cfargotunnel.com,UUID 为前面创建tunnel中获取的。

创建 config 配置文件

如 cloudflared 已为 service 形式运行,须将此配置文件复制至默认配置文件夹位置
若没有则先为其创建系统服务,再执行上面👆的操作。
 

SSH
常用命令集合

2020 - 2024 © HK