在我们使用NAT VPS的时候,或者是我们自己使用本地环境的时候,由于我们没有公网IP,只能使用内网穿透的法子。这时候,我们就可以使用CloudFlare Argo Tunnel来穿透我们需要使用公网IP的服务,并且可以自定义域名。
准备材料
- 一枚域名,并DNS解析到CloudFlare
步骤方法
- 打开Argo Tunnel的官网:https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation ,然后选择自己的Linux版本下载对应的安装包。CentOS系系统选择rpm包下载,Debian系系统选择deb包下载
- 使用
dpkg -i cloudflared-linux-amd64.deb
(CentOS:rpm -i cloudflared-linux-amd64.rpm
)安装cloudflared客户端
PS: 本文中官网下载的文件名为cloudflared-linux-amd64.deb,请按照实际文件名安装 - 可以使用
cloudflared tunnel --url http://127.0.0.1:端口号
命令,测试HTTP隧道效果或使用cloudflared tunnel --url tcp://127.0.0.1:端口号
命令,测试TCP隧道效果
- 使用
cloudflared tunnel login
命令,登录你的CloudFlare账号。复制控制台出现的网址登录你的CloudFlare账号
- 选择一个域名,授权给Argo Tunnel使用
- 下面是一些常用的命令
创建隧道:cloudflared tunnel create 隧道名
删除隧道:cloudflared tunnel delete 隧道名
列出隧道:cloudflared tunnel list
配置隧道:cloudflared tunnel route dns 隧道名 [CNAME 记录名称].[接入 CLoudflare 的域名]
运行隧道:cloudflared tunnel run --url http://127.0.0.1:http端口号 隧道名
或 cloudflared tunnel run --url tcp://127.0.0.1:tcp端口号 隧道名
- 使用YML配置文件文件如下
配置文件使用 Ingress 规则,如果想配置 SSH、TCP 等其他协议,可以查看官网:https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/configuration/ingress
然后使用 cloudflared tunnel --config [配置文件路径] run
命令运行隧道