在我们使用NAT VPS的时候,或者是我们自己使用本地环境的时候,由于我们没有公网IP,只能使用内网穿透的法子。这时候,我们就可以使用CloudFlare Argo Tunnel来穿透我们需要使用公网IP的服务,并且可以自定义域名。
准备材料
- 一枚域名,并DNS解析到CloudFlare
步骤方法
- 打开官网
- 选择自己的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端口号
测试HTTP隧道效果或使用cloudflared tunnel --url tcp://127.0.0.1:tcp端口号
测试HTTP隧道效果 - 使用
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端口号 隧道名字
- 使用YML配置文件文件如下:
tunnel: [tunnel 的名称或 UUID] credentials-file: /root/.cloudflared/[tunnel 的 UUID].json ingress: - hostname: [CNAME 记录名称].[接入 CLoudflare 的域名] service: http://localhost:80 - service: http_status:404
配置文件使用 Ingress 规则,如果想配置 SSH、TCP 等其他协议,可以查看其官网
然后使用cloudflared tunnel --config [配置文件路径] run
运行隧道