基于CF的内网穿透思路
常见 Cloudflare 穿透方案的详细总结:
1. 直接 Cloudflare Tunnel(Argo Tunnel)
原理
本地或内网服务器安装 cloudflared 客户端,主动与 Cloudflare 建立加密隧道。
域名直接托管在 Cloudflare,DNS 解析到 Tunnel。
用户访问域名,流量经 Cloudflare 直接通过隧道到达内网服务器。
举例
你有一台家用服务器(无公网IP),运行 web 服务。
在服务器上安装 cloudflared,连接 Cloudflare。
在 Cloudflare 上将 yoursite.com 的 DNS 解析到 Tunnel。
用户访问 yoursite.com → Cloudflare → Tunnel → 家用服务器。
适用场景
个人网站、开发测试、单一服务。
需要快速、安全地将内网服务暴露到公网。
2. Cloudflare SaaS 自定义主机名 + Tunnel(多租户/平台级)
原理
为每个客户/服务分配自定义主机名(如 client1.yoursaas.com)。
Cloudflare 通过“源服务器域名”CNAME 到 Tunnel,实现多租户流量穿透。
支持自动签发 SSL 证书和多域名管理。
举例
你运营一个 SaaS 平台,为每个客户分配独立域名。
客户访问 client1.yoursaas.com。
Cloudflare 查找自定义主机名配置,回源到 client1-saas.yourserver.com(CNAME 到 Tunnel)。
用户访问 client1.yoursaas.com → Cloudflare → client1-saas.yourserver.com(CNAME 到 Tunnel)→ Tunnel → 内网服务器。
适用场景
SaaS 平台、多租户、企业级应用。
需要为不同客户分配独立入口和安全隔离。
3. 反向代理 + Cloudflare
原理
公网服务器(如 VPS)作为“跳板”,配置反向代理(Nginx/Caddy/Apache)。
用户访问域名,流量先到 VPS,再转发到内网服务器(通过 VPN、FRP、端口映射等)。
Cloudflare 负责 DNS 解析和基础防护。
举例
家用服务器无公网IP,租用 VPS 作为代理。
域名 example.com 在 Cloudflare,DNS 解析到 VPS。
VPS 用 Nginx 反向代理,将流量转发到家用服务器。
用户访问 example.com → Cloudflare → VPS(Nginx)→ 家用服务器。
适用场景
需要自定义流量分发、缓存、鉴权。
已有公网服务器资源,兼容性要求高。
4. Cloudflare Workers + Tunnel 组合
原理
Cloudflare Workers 在边缘节点运行自定义 JS 代码,处理流量(鉴权、缓存、重定向等)。
Workers 处理后,将请求转发到 Cloudflare Tunnel,最终到达内网服务器。
举例
API 服务在家用服务器,希望加边缘鉴权和缓存。
配置 Workers 拦截 api.example.com 的请求,先校验 Token。
合格请求由 Workers 转发到 Tunnel,最终到家用服务器。
用户访问 api.example.com → Cloudflare → Workers(鉴权/处理)→ Tunnel → 家用服务器。
适用场景
需要边缘计算、API 网关、定制化流量处理。
希望在 Cloudflare 层做安全、缓存、数据处理等。