安装cloudflared
1.deb 方式安装
wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && dpkg -i cloudflared-linux-amd64.deb
2.rpm 方式安装
wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm
授权cloudflared
#在linux 命令中执行
cloudflared tunnel login
#复制授权链接在浏览器中打开,选择授权的域名
创建隧道名称
#在命令中执行
cloudflared tunnel create <NAME> #<NAME>为你所取的隧道名称
#验证创建的隧道
cloudflared tunnel list
域名指向
#把域名指向到对应的隧道
#注意:下面的命令只会对第一个授权的顶级域名生效,比如abc.com和*.abc.com
#如果有多个域名,则其他的域名123.com、456.com,需要登录Cloudflare的Web控制台,手工添加CNAME记录(<隧道UUID>.cfargotunnel.com)
cloudflared tunnel route dns <隧道名字> <域名>
# 比如一级域名(和Web界面不一样,不需要输入@)
cloudflared tunnel route dns webserver-1 abc.com
# 又比如二级域名
cloudflared tunnel route dns webserver-1 www.abc.com
创建cloudflared隧道配置文件(配置文档)
#创建配置文件
sudo vim ~/.cloudflared/config.yml
1.连接站点配置,创建一个config.yaml,写入以下配置
tunnel: <隧道UUID>
credentials-file: /home/{username}/.cloudflared/<Tunnel-UUID>.json
ingress:
# 第一个网站,连接到本地的80端口
- hostname: <域名1.com>
service: http://localhost:80
# 第二个网站,https协议,连接到本地的443端口,禁用证书校验(用于自签名SSL证书)
- hostname: <域名2.com>
service: https://127.0.0.1:443
originRequest:
noTLSVerify: true
originServerName: <域名2.com>
# 第三个网站,8012端口,泛域名
- hostname: <*.域名3.com>
service: http://localhost:8012
# 第四个,反代MySQL sock服务
- hostname: <mysql.域名4.com>
service: unix:/tmp/mysql.sock
# 第五个,反代SSH服务
- hostname: <ssh.域名5.com>
service: ssh://localhost:22
- service: http_status:404
#保存
#验证配置文件是否通过
cloudflared tunnel ingress validate
#输出OK,通过
#验证域名是否能访问到规则
cloudflared tunnel ingress rule https://<域名.com>
#输出域名和本地端口信息,通过
#注意事项,注意事项,注意事项
#修改配置一定要到在安装服务的目录修改
sudo vim /etc/cloudflared/config.yml
#z如果修改最原始的配置文件
#必须要走一遍把配置部署动作,否则配置文件不生效
运行隧道并指定配置文件
#测试运行并打印日志
cloudflared --loglevel debug --transport-loglevel warn --config /home/{username}/.cloudflared/config.yml tunnel run <隧道UUID>
#打印日志并且没出现错误,表示正常
指定配置文件并安装成服务和卸载
# 指定配置文件创建服务,安装时会复制配置文件到 /etc/cloudflared/config.yml
sudo cloudflared --config /home/{username}/.cloudflared/config.yml service install
#卸载服务
sudo cloudflared --config /home/{username}/.cloudflared/config.yml service uninstall
开启开机启动服务
#设置开机启动
#启动服务
sudo systemctl start cloudflared
#重启服务
sudo systemctl restart cloudflared
#停止服务
sudo systemctl stop cloudflared
#开机启动服务
sudo systemctl enable cloudflared
#停止开机启动
sudo systemctl disable cloudflared
欢迎关注我的公众号“**点滴分享技术猿**”,原创技术文章第一时间推送。