准备工作:
- 一个cloudflare.com的账号,账号内,有一个域名(例如:dearjoe.top)
- linux系统 arm、arm64、x86、amd64平台都可以。
开始部署:
1.下载程序到openwrt里:
wget https://github.com/cloudflare/cloudflared/releases/download/2024.8.3/cloudflared-linux-arm64 -O /usr/bin/cloudflared
##上面命令如果下载失败可到 https://github.com/cloudflare/cloudflared/releases 对应版本下载,32位arm平台选择【cloudflared-linux-arm】hi3798mv100也选这个
其他平台自行选择对应的
2.在终端输入 #非root用户请在前面加上 sudo
chmod -R 0777 /usr/bin/cloudflared
cloudflared login
##此时终端会显示一个https:// 的网址,复制到浏览器打开,登录自己的cloudflare账号,选择要绑定的域名,并获取自动下载的授权文件
3.创建一个隧道
cloudflared tunnel create 123 #123 是你创建的隧道名称,记好,后面要用,这个名称可自定义
得到隧道的id
4.自制配置文件config.yml
vi config.yml
例如:
tunnel: 14dcebeb-972c-4556-8a50-2a4498f68752
credentials-file: /root/.cloudflared/14dcebeb-972c-4556-8a50-2a4498f68752.json
ingress:
- hostname: 123.95bok.cn
service: http://127.0.0.1
- service: http_status:404
#上面 hostname后面的 123.95bok.cn 中 123是二级域名名称,95bok.cn 是顶级域名(也就是你在cloudflared关联的域名)
#service: http://127.0.0.1 这是外网https穿透访问的页面地址,可加端口如http://127.0.0.1:88 (请先保证此页面在内网中http可访问)
把这个配置文档放置到/etc/cloudflared/下面
在终端输入
mkdir -p /etc/cloudflared/
cp config.yml /etc/cloudflared/
cloudflared tunnel route dns 123 123.95bok.cn
#上面命令中123是指前面创建的隧道名称,123.95bok.cn是前面config.yml文件中配置的二级域名。
5.运行自启动安装
cloudflared service install #运行自启动安装
systemctl start cloudflared #启动服务
systemctl status cloudflared #查看运行状态 可随时ctrl + c 中止。
6.在浏览器中输入https://123.95bok.cn
搞定,结束!