Cloudflare Tunnel 使用笔记
目录
1. cloudflare安装 #
1.1 macOS #
macOS如果已有brew,建议用brew:
brew install cloudflare/cloudflare/cloudflared
亦可以
下载最新amd64 版本,解压输入cd Downloads
进入该文件所在的下载目录,继续下述操作。
1.2 Linux #
.deb #
wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && dpkg -i cloudflared-linux-amd64.deb
.rpm #
wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm
1.3 windows #
32-bit | 64-bit |
---|---|
Download | Download |
windows把文件下载下来后,把下载下来的可执行文件重命名成
cloudflared.exe
扔进用户名目录,用cmd或powershell执行以下命令时,只需把cloudflared
部分替换成cloudflared.exe
即可食用。
2. Cloudflared使用 #
2.1 登陆cloudflare #
输入以下指令,会出来一个地址,浏览器会自动打开这个地址,登录Cloudflare进行认证,接下来选择用来穿透的域名,成功后,会生成一个文件名为cert.pem的证书,位于.cloudflared目录中。
cloudflared tunnel login
2.2 新建隧道 #
输入以下指令创建一个隧道,会生成一个文件名UUID.json,位于.cloudflared目录中。生成的UUID请注意,配置里需要用到。
cloudflared tunnel create <NAME>
请注意,本文中
<NAME>
<DOMAIN>
<UUID>
请勿照搬命令,但请保持一致,<UUID>
为自动生成。 例如cloudflared tunnel create abc
,abc
即为<NAME>
2.3 解析隧道 #
cloudflared tunnel route dns <NAME> <DOMAIN>
例如
cloudflared tunnel route dns abc abc.wufei.org
上述命令中,<DOMAIN>
可以为二级域名(wufei.org)或三级域名(abc.wufei.org),输入后会多出一条 CNAME记录 指向Tunnel. 这里其实可创建多个三级域名,用于不同的服务,在。
2.4 新建配置文件 #
vim ~/.cloudflared/config.yml
输入i
键进行键入,接着粘贴以下内容,按 esc
键停止键入,最后输入 :wq
保存并退出。
tunnel: <NAME>
credentials-file: ./.cloudflared/<UUID>.json
protocol: http2
originRequest:
connectTimeout: 30s
noTLSVerify: false
ingress:
- hostname: <DOMAIN>
service: http://localhost:<port>
# - hostname: <DOMAIN2>
# service: http://localhost:<port2>
- service: http_status:404
Windows直接在.cloudflared目录下手动新建config.yml即可,用notepad++等进行编辑保存。
<NAME>
填新建隧道时的名字<UUID>
为生成的UUID,可以输入cloudflared tunnel list
指令查询。<DOMAIN>
为解析隧道步骤时的域名,如果在添加了多个三级域名,可以去掉注释继续追加。<port>
可以输入端口号,强国需要指定protocol.
noTLSVerify
禁用证书验证除了 HTTP,
cloudflared
还支持 SSH、RDP、TCP、sockets等协议。 详见 Origin configuration
2.5 运行cloudflare #
cloudflared tunnel run <UUID or NAME>