根据 @dearjoe 大佬内网穿透教程延伸!
原文地址:https://bbs.histb.com/d/240-cloudflared-https
本帖是cloudflared 一条隧道部署多个域名教程
如:海纳思系统地址为192.168.1.1 穿透后为abc.xxx.com
alista地址为192.168.1.1:5244 穿透后为bcd.xxx.com
准备工作:
一个cloudflare.com的账号,账号内,有一个域名(例如:dearjoe.top)
linux系统 arm、arm64、x86、amd64平台都可以。
开始部署:
1.下载程序到盒子里:
wget https://github.com/cloudflare/cloudflared/releases/download/2022.5.1/cloudflared-linux-arm -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 abc
#abc 是你创建的隧道名称,记好,后面要用,这个名称可自定义
得到隧道的id
4.自制配置文件config.yml
vi config.yml
例如:
tunnel: xxx隧道IDxxx
credentials-file: /root/.cloudflared/xxx隧道IDxxx.json
ingress:
- hostname: abc.dearjoe.top
service: http://127.0.0.1
- service: http_status:404
#上面 hostname后面的 abc.dearjoe.top 中 abc是二级域名名称,dearjoe.top 是顶级域名(也就是你在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 abc abc.dearjoe.top
#上面命令中abc是指前面创建的隧道名称,abc.dearjoe.top是前面config.yml文件中配置的二级域名。
5.运行自启动安装
cloudflared service install #运行自启动安装
systemctl start cloudflared #启动服务
systemctl status cloudflared #查看运行状态 可随时ctrl + c 中止。
不一样的地方来了。以上操作全部弄好以后你的域名已经可以打开了。
那么怎么部署下个域名呢?
liux终端输入命令:
cloudflared tunnel route dns bcd bcd.dearjoe.top
#bcd 为你的二级域名 可以自定义
这条命令的意思是,在你开通的那条隧道里面部署第二个域名
然后修改etc/cloudflared/config.yml文件
可以用这个软件远程连接 FinalShell 然后直接找到上面的文件夹修改保存即可。
tunnel: xxx隧道IDxxx
credentials-file: /root/.cloudflared/xxx隧道IDxxx.json
ingress:
- hostname: abc.dearjoe.top
service: http://127.0.0.1
- hostname: bcd.dearjoe.top
service: http://127.0.0.1:99
- service: http_status:404
然后保存就可以了。
配置完以后第一次一般要几个小时才可以访问。
具体什么原因不清楚。
不过以后再打开就没事了。