准备工作要求
- 二级域名已经添加至 CF 管理
见 cloudflare dash 页面 Account home 一栏 - 域名已由 cloudflare 进行解析
即 域名已经在域名管理处 (未必是cloudflare, 通常是域名服务商) 设置 nameserver 为 cloudflare nameserver
具体见 cloudflare 域名页面 DNS - Recourds 界面下
创建和配置 tunnel
进入界面, 开始创建tunnel
cloudflare dash 页面左侧菜单点击进入 Zero Trust 页面
左侧菜单进入 Networks - Tunnels 界面
点击 Create a tunnel
tunnel type 选择 Cloudflared
然后会进入 tunnel name 界面, name 可任意并且后续可更改
点击保存后 会进入 Configure 界面, 该界面可以安全退出, 可以后续在 tunnel 编辑页面再进行配置
上述步骤完成后, 在 Networks - Tunnels 界面能看到已创建的 tunnel
tunnel 配置
下面的服务端建立连接 和 配置服务路由 可沿着上述 tunnel 创建后进入的配置界面操作, 也可进入 tunnel 编辑页面进行
服务端建立连接
按照 Configure 界面 "Install and run a connector" 指导, 登录到服务器机器上后执行要求的命令.
在此配置的是服务端到 tunnel 的连接
一个服务器仅能连接到一个 tunnel 上, 连接后再尝试再连接第二个 tunnel 会失败, 需要先将之前的连接关闭.
对于 Linux 系统
- 注意用户需要 sudo 权限.
- 个人建议 Linux 下在 "install a service" 和 "run the tunnel manually" 两种方式中选择前者, 这样服务端到 tunnel 的连接不会因命令行退出而中止, 并且可以开机自启.
可通过如下命令检查服务器上连接服务 cloudflared service 运行情况
systemctl status cloudflared
后续 cloudflared service 可通过 cloudflared 管理, 见命令
cloudflared --help
上述步骤完成后, 进入 Networks - Tunnels 界面, 能看到已创建的 tunnel
有服务端连接建立后, tunnel status 会是 HEALTHY.
配置服务路由
- 有 "Public Hostnames"和"Private Networks", 使用 "Public Hostnames" 配置
- Domain 选项列表中有已经由 cloudflare 管理的域名
- Subdomain 任意
- Service 为所要经tunnel中转访问的服务器上的服务
比如, 图中所示是要使用服务器上 7000 端口 http 服务
配置完成后, 可以在 tunnel 编辑页看到
也可以在 cloudflare 域名页面 DNS - Recourds 界面下看到对应的 CNAME 记录
然后, 尝试通过域名访问服务
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。