来自国际大厂Cloudflare的免费项目cloudflared

在此之前

大家可以先去看看项目。

https://github.com/cloudflare/cloudflared

 事先声明,本人使用Ubuntu2204系统搭建,理论上适合Debian系Linux系统(Redhat系需要修改相关命令)。其他系统请参考官方文档。

https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/local/

 我们需要拥有一个域名,并将域名绑定在Cloudflare上。当然一台Linux电脑是不能缺少的。

下面教程正式开始:

安装

翻阅官方文档,决定使用相对简单的安装方法,同时也便于后续的维护更新。

添加Cloudflare存储库来安装。

# 添加 cloudflare gpg 密钥
sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null

# 添加到apt 存储库
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared buster main' >  /etc/apt/sources.list.d/cloudflared.list

#安装 cloudflared
sudo apt-get update && sudo apt-get install cloudflared

身份验证和域名绑定

使用命令:

cloudflared tunnel login

点击跳转绑定相应域名

完成验证之后会在目录/root/.cloudflared/下生成账号证书文件。

创建隧道

注:一个隧道只能代理一个服务

使用命令

cloudflared tunnel create <NAME>

如下:

图中需要记住id后面那一串字符串,它就是后面会提到的<Tunnel-UUID>

通过一下命令来查看隧道是否创建成功:

cloudflared tunnel list

如:

如果需要删除隧道可以使用命令

cloudflared tunnel delete <NAME>

配置文件

登录Cloudflare新建相应dns记录如下

内容那一项<Tunnel-UUID>.cfargotunnel.com。如果不知道<Tunnel-UUID>的,上面有介绍。

也可以使用命令行来添加dns记录

cloudflared tunnel route dns <Tunnel-NAME> <SUBDOMAIN>

<SUBDOMAIN>为你想用来做内网穿透的域名,如:www.abc.com.

成功后会创建CNAME记录将域名指向隧道。

新建配置文件

nano /root/.cloudflared/config.yml

内容如下:

tunnel: <隧道名>
credentials-file: /root/.cloudflared/<Tunnel-UUID>.json   #<Tunnel-UUID>修改为自己的
ingress:
  - hostname: #自定义的域名
    service: http://localhost:5244   #需要代理服务的端口
  - service: http_status:404

运行

使用如下命令:

cloudflared tunnel run <NAME>

如果上面都没问题,运行后等待一会就可以使用域名访问服务了。

进阶

注册为系统服务

命令:

#服务名随便填写,自己记得住就行
nano /etc/systemd/system/cloudflared.service

内容:

[Unit]
Description=Cloudflare Tunnel
After=network.target

[Service]
ExecStart=cloudflared --config <config-File> tunnel run <Tunnel-NAME>
Restart=always
RestartSec=5
StartLimitInterval=0

[Install]
WantedBy=multi-user.target

<config-file>文件位置默认为/root/.cloudflared/<Tunnel-UUID>.json   #<Tunnel-UUID>修改为自己的

<Tunnel-UUID>不多赘述

其他system你不多赘述,自行百度。

如有问题,可以在评论区提出。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值