介绍
官方描述如下:
Cloudflare Tunnel 是一款隧道软件,可以快速安全地加密应用程序到任何类型基础设施的流量,让您能够隐藏你的 web 服>务器 IP 地址,阻止直接攻击,从而专注于提供出色的应用程序。
借助cloudflare tunnel(以下简称cft)可以实现内网端口的映射,在某些情况下可以直接替代nginx
安装cft
# 添加源,<RELEASE>内填写版本代号(见下表)
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/ <RELEASE> main' |
sudo tee /etc/apt/sources.list.d/cloudflare-main.list
# 添加GPG Key
sudo curl https://pkg.cloudflare.com/cloudflare-main.gpg -o /usr/share/keyrings/cloudflare-main.gpg
# 安装
apt update&&apt install cloudflared
配置cft
登录
首先需要登录cloudflare并指定你希望用于绑定cft的域名
(绑定后可以使用根域名或解析子域名)
cloudflared tunnel login
创建隧道
cloudflared tunnel create <隧道名称>
请删去“<>”
解析域名
解析的域名必须是没有过解析记录的
cloudflared tunnel route dns <隧道名称> <域名>
为隧道创建一个配置文件
在~/.cloudflared/knat.yml
下创建配置文件
cd ~/.cloudflared/knat.yml
vim example.yml
注:”example”是文件名请随意起
粘入以下内容
url: http://localhost:2233 #内网端口
tunnel: xxxxxxx-5b0e-xxxx-8034-xxxxxxx #创建隧道时输出的id
credentials-file: /root/.cloudflared/<创建隧道时输出的id>.json
启动隧道
cloudflared tunnel --config ~/.cloudflared/example.yml run
这样本地2233端口就映射到你绑定的域名上了
后台运行
安装screen
Ubuntu/Debian
apt-get -y install screen
CentOS/RedHat/Fedora
yum -y install screen
创建新窗口
screen -S cft
在新窗口中运行上面的cft运行指令
要令窗口在后台运行先按ctrl+A
再按ctrl+D
要重新打开该窗口,请用如下命令
screen -r cft
(cft只是一个自定义名称)
End
我将我的网盘通过这种方式映射到了nyapan.mouup.top,访问速度甚至有所提升,但是不同地区速度会有差异
cloudflared tunnel除了内网穿透其实还可以有其他用处,保护网站这就不必说了,仔细想想如果在一台国内的服务器上使用它,是不是可以解决某个令人头疼的无题呢?(doge)