使用cloudflare-argo构建隧道
大约 2 分钟
准备工作
下载和安装
https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation
https://github.com/cloudflare/cloudflared/releases
# wget 下载 .deb 或 .rpm 文件 # Debian系 下载 .deb wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -O cloudflared-linux.deb # wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb -O cloudflared-linux.deb # 安装 .deb sudo dpkg -i cloudflared-linux.deb rm cloudflared-linux.deb登录并授权域名
# 登陆并创建新的API 令牌来使用 tunnel # 登陆后会在 .cloudflared/ 目录下生成 cert.pem 证书文件 cloudflared tunnel login # 使用已有的 cert.pem 证书文件(不用登陆) vim cert.pem mkdir .cloudflared mv cert.pem .cloudflared/在控制台输出信息中复制链接并打开,授权域名后即可创建隧道。

image-20230823134808249
使用隧道
创建隧道
cloudflared tunnel create 隧道名 # cloudflared tunnel create DCI-SG1查看隧道
cloudflared tunnel list在一些以隧道名作为参数的命令中,也可以使用隧道ID来指定隧道。隧道ID可通过上述命令查看。
(可选)为隧道配置一条DNS记录(CNAME类型),可在cloudflare控制台查看
cloudflared tunnel route dns 隧道名 解析名.上述登陆时授权的域名运行隧道
cloudflared tunnel run --url 主机名:端口号 隧道名 # 当报错连接已建立时,可以运行如下命令断开连接,再重新运行隧道 cloudflared tunnel cleanup 隧道名 # 当报错localhost错误,编辑 host 文件,添加规则即可 vim /etc/hosts 127.0.0.1 localhost ::1 localhost # 后台运行 kill -9 $(ps -Al | grep cloudflared | awk '{print $4}') nohup cloudflared tunnel run --url 主机名:端口号 隧道名 > argo.log 2>&1 & # nohup cloudflared tunnel run --url localhost:80 DCI-SG1 > /dev/null 2>&1 &访问隧道
https://隧道ID.cfargotunnel.com
https://添加的DNS记录
参考
CloudFlare Argo Tunnel 免费使用图文教程 (CF 隧道)【类似内网穿透】 – 苍穹の下 (blueskyxn.com)
