type
status
date
slug
summary
tags
category
icon
password
CF Argo 隧道——Cloudflared 反代服务
原文信息
- 标题: CF Argo 隧道——Cloudflared 反代服务
- 作者: 雨天狂奔
- 原文链接: 点击访问
Argo 隧道的基本概念
CF Argo 隧道(Cloudflare Argo Tunnel)是 Cloudflare 提供的一项服务,其软件名为
cloudflared,允许用户安全地将本地服务器或内部服务暴露到互联网,而无需在防火墙上开放入站端口。免费版 Argo 的主要功能
官方文档有非常详尽的说明。
1. 安全暴露本地服务
- 无需在路由器或防火墙上开放入站端口(如 80/443)。
- 所有流量通过 Cloudflare 的边缘网络加密传输(TLS 1.3)。
- 防止直接暴露服务器 IP,减少 DDoS 攻击风险。
- 也就是俗称的反代功能,与 caddy、nginx 的反向代理类似。
2. 支持 HTTP/HTTPS 流量
- 可以代理 Web 服务(如本地开发的网站、API、NAS 管理界面等)。
- 自动提供 HTTPS(通过 Cloudflare 的全球证书)。
3. 免费自定义域名
- 支持绑定到 Cloudflare 托管的域名(如
your-site.example.com)。
- 无需额外付费即可使用 SSL/TLS 加密。
4. 与 Cloudflare Access 基础版集成
- 可配置简单的零信任访问控制(如基于电子邮件域名的限制)。
- 支持 Google、GitHub 等 SSO 登录(但高级策略需付费版)。
- 关于 Cloudflare Access,详见我的博文介绍。
如何安装 Argo 隧道
1. Linux 版
如果你有一台 Linux 服务器(此处以 Debian 和乌班图系统为例),且已经搭建了老王的四合一节点脚本,就不需要再额外安装 Argo 了,老王的脚本已经自带,可以通过以下命令来确认你的 vps 是否已经安装了 argo:
看看列出的服务中是否有
argo.service 或 cloudflared.service。argo.service:老王脚本 argo 的服务名称
cloudflared.service:官方 argo 的服务名称
如果还没有搭建任何脚本,也不打算搭建脚本,仅用作服务主机,则可以根据官方文档安装 argo,具体操作如下:
- 打开 CF Zero Trust 官方主页,依次点击 网络 (Networks) → Tunnels → 创建隧道 (Create a Tunnel)。

- 隧道类型 选择:
cloudflared,点击“下一步”。
- 为隧道命名 :按你的需求给隧道一个英文名称,点击“下一步”。
- 操作系统 选择:
debian,出现下图:

按照官方指引安装连接器,依次运行界面上给出的命令:
Add cloudflare gpg key:
Add this repo to your apt repositories:
Install cloudflared:
安装 cloudflared 服务并自动启动:
(注意:ey 开头的字符串即为你的隧道 token)
2. Windows 版
- 下载安装 argo 隧道软件。
- 以管理员身份运行隧道:
3. Docker 版
运行以下命令:
注意:如果部署的是 docker 版,设置隧道监听端口时不能用 localhost:端口号,此时的 localhost 是 docker 容器的内部 ip 地址,不是宿主机 IP,此时需要填写 0.0.0.0:端口号 或 服务器公网IP:端口号。
其他版本均可在隧道管理面板找到相应的安装命令,此处不再赘述。至此,argo 隧道安装完毕。
如何通过隧道为服务添加反代
caddy、nginx 等反代软件的设置流程一般如下:
- 将服务器 IP 解析到域名 DNS 记录
- 安装 caddy 或 nginx 服务
- 编辑配置文件 Caddyfile 或 nginx.conf
- 定义域名和代理规则
- 为域名申请 tls 证书
不仅繁琐,也无法隐藏服务器真实 IP;如果 IP 被墙,除了换 IP 或套 CF CDN,没有好的解决方案。
而通过 argo 隧道反代则非常简单,有以下几大优势:
- 无需编辑配置文件,对小白非常友好
- 无需解析服务器 IP 地址,只要有一个托管在 CF 的域名即可
- 自动隐藏服务器真实 IP
- 自动使用 CF CDN,IP 被墙也不影响访问服务
- 一台 VPS 上使用一条隧道即可通过添加主机名和监听端口来反代所有服务
- 自动分配 ipv4 和 ipv6 双栈出口
其配置步骤如下:
- 打开隧道管理页面,找到你刚刚创建的隧道(在隧道还未连接任何服务的情况,其状态会显示灰色的 停用 字样)。
- 找到最右侧
...,点击它,选择 配置 (Configure)。
- 点击页面上方的 公共主机名 (Public Hostname)。

- 再点击 添加公共主机名 (Add a public hostname),依次按如下设置(以老王四合一脚本的固定隧道为例,设置完成后,即可让 argo 节点拥有固定隧道):
- 子域 (Subdomain):为服务自定义一个子域名,填写前缀即可,如
cfsub - 域名 (Domain):选择托管在 CF 的根域名,如
argo.us.kg - 路径 (Path):留空
- 服务类型 (Type):
http - URL:服务器上搭建的服务所监听的 IP 和端口,如 localhost:8001
(我举例的这个端口是老王四合一脚本中 argo 隧道的默认监听端口)

设置完成后,若其反代的服务已经在运行,则在隧道管理页面,可以看到隧道状态变成了绿色的 正常 (Healthy) 字样。
如果这台 vps 还搭建了其他服务,以 alist 为例,只需在这条隧道里再添加一个主机名即可:
- 子域:如
alist
- 域名:选择托管在 CF 的根域名,如
argo.us.kg
- 路径:留空
- 服务类型:
http
- URL:
localhost:5244(这是 alist 默认的监听端口)

通过浏览器访问
https://子域.根域 ,即可访问你所部署的服务,已经自带 tls 证书和 cf cdn。写在最后
即便你没有 vps,也可以通过在本机 win 系统安装 win 版 argo 来反代本机部署的服务,只要本地电脑不关机且服务在运行,就可以远程通过访问 argo 域名来访问本机服务,完全可以用家中闲置的旧电脑打造一台属于自己的服务器。
- Author:NOOMI
- URL:https://t.me/rnm6bot_bo/article/s4ec7yP8aBcF1s
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!


.png?table=block&id=26fc907f-4c45-809c-8926-e1a9b2250cb9&t=26fc907f-4c45-809c-8926-e1a9b2250cb9)


