In this Article
Cloudflare 反向代理部署在你的 Web 服务器前方:当你将 DNS 记录设为 Proxied 后,访客请求会先到达 Cloudflare 的边缘网络,再由 Cloudflare 转发至源站。本教程介绍如何将 Cloudflare 配置为托管站点的反向代理,涵盖代理 DNS 记录、SSL/TLS 模式、缓存、源站规则、使用 curl 测试,以及常见的 522 和 525 错误。
关于这一概念及其与正向代理的区别,请参阅我们的说明文章反向代理与正向代理对比。本文仅聚焦 Cloudflare 的具体配置。
DataImpulse 是一家注重合规的代理服务提供商,在 195 个国家提供超过 9000 万个住宅、移动和数据中心 IP 地址。采用按量付费模式,价格低至每 GB 1 美元,流量永不过期,适用于网页抓取、广告验证、价格监控、市场调研和多账号管理。
关键信息
- Cloudflare 反向代理: 将 DNS 记录设为 Proxied(橙色云朵)后,访客流量会经过位于源服务器前方的 Cloudflare 边缘节点,无需在服务器上安装软件,即可获得 TLS、缓存和 WAF。
- 最佳代理类型: 轮换住宅代理使用真实消费者 IP,更容易通过检测。
- 价格: 低至每 GB 1 美元,按量付费,流量永不过期,无需订阅。
- 覆盖范围: 覆盖 195 个国家,拥有超过 9000 万个合规来源的 IP。
- 可靠性: 成功率为 99.51%,在 G2 上获得 4.8/5 评分。
- 协议与定位: 支持 HTTP、HTTPS 和 SOCKS5,并提供国家级定位功能。

开始前需要准备什么?
你需要一个域名、一个 Cloudflare 账户,以及一台正在托管网站且拥有公网 IP 的 Web 服务器。反向代理会接收客户端请求,并将其转发给一个或多个后端源服务器。域名改用 Cloudflare 的名称服务器后,Cloudflare 就会在其边缘节点承担这一角色。
开始配置前,请准备好以下内容:
- 正在运行的源站: 站点可通过 HTTP 或 HTTPS 经由公网 IP 地址(例如 203.0.113.10)访问。
- Cloudflare 名称服务器: 需在域名注册商处将名称服务器指向添加站点时 Cloudflare 分配的两个名称服务器。
- 源站 TLS 证书: 有效证书(Let’s Encrypt 或免费的 Cloudflare Origin Certificate),以便使用安全的 SSL 模式。
理解流量路径会很有帮助。Cloudflare 反向代理的请求路径可分为 5 个阶段:DNS -> 边缘节点 -> 缓存 -> WAF -> 源站。请求会先解析至 Cloudflare 边缘节点的 IP,经检查后可能直接由缓存响应,随后经过 Web 应用防火墙,最后才到达源站。了解请求所处的阶段,有助于后续排查问题。
如何设置 Cloudflare 反向代理?
将站点添加至 Cloudflare,把 DNS 记录切换为 Proxied,并选择严格的 SSL 模式。DNS 记录上的橙色云朵是为该主机名启用 Cloudflare 反向代理的开关;灰色云朵则表示仅进行 DNS 解析,完全绕过边缘节点。
将 DNS 指向源站并启用橙色云朵。 在 DNS 标签页中,为根域名和 www 创建指向源站 IP 的 A(或 AAAA)记录,并将 Proxy status 设为 Proxied:
Type Name Content Proxy status
A @ 203.0.113.10 Proxied (orange cloud)
A www 203.0.113.10 Proxied (orange cloud)
选择 SSL/TLS 加密模式。 在 SSL/TLS 设置中,该模式决定 Cloudflare 与源站之间的通信方式。只要源站具有有效证书,就应使用 Full (strict) 模式:
SSL/TLS encryption mode
Off no HTTPS, do not use
Flexible browser-to-Cloudflare only, origin unencrypted (avoid)
Full encrypts to origin, accepts any certificate
Full (strict) encrypts to origin, requires a valid certificate
添加缓存规则或源站规则。 规则可用于控制边缘节点缓存的内容,或控制其连接源站的方式。一条简单的 Cache Rule 可将静态路径标记为可缓存,让 Cloudflare 直接返回响应,无需请求你的服务器:
# Rules > Caching > Create rule
When incoming requests match:
(http.request.uri.path contains "/static/")
Then:
Cache eligibility = Eligible for cache
Edge TTL = 1 day
Origin Rules 可覆盖 host 请求头或 Cloudflare 的连接端口,在后端监听非标准端口时尤为有用。保存设置后,Cloudflare 就会作为反向代理运行在源站前方。
如何验证反向代理是否正常工作?
向域名发送请求,确认响应确实经由 Cloudflare 返回。最快的方法是用 curl 发送 HEAD 请求,查看 Cloudflare 添加的 server 和 cf-ray 响应头:
curl -I https://example.com
# Expected headers when proxied:
# server: cloudflare
# cf-ray: 8a1b2c3d4e5f6789-FRA
# cf-cache-status: HIT | MISS | DYNAMIC
如果看到server: cloudflare和cf-ray值,说明流量正经过边缘节点。cf-cache-status为 HIT 则表示 Cloudflare 正通过缓存规则返回内容,而非由源站返回。要确认 DNS 解析到的是边缘节点 IP 而非源站 IP,可运行dig example.com +short,检查返回地址是否属于 Cloudflare 的 IP 段,而不是 203.0.113.10。
如何排查 522 和 525 错误?
大多数 Cloudflare 反向代理故障都发生在源站一侧,并对应请求路径中的特定阶段。出现带有 Cloudflare 品牌页面的 5xx 错误,表示请求已抵达源站环节,但源站未能正确响应。
- 522 错误(connection timed out): Cloudflare 无法与源站建立 TCP 连接。请检查防火墙是否允许 Cloudflare 的 IP 段、Web 服务器是否正在运行,以及 DNS 记录中的源站 IP 是否正确。
- 525 错误(SSL handshake failed): 源站拒绝 TLS 握手。这通常表示已启用 Full (strict) 模式,但源站证书缺失、过期或为自签名证书;请安装有效证书或 Cloudflare Origin Certificate。
- 重定向循环: Flexible SSL 模式与强制使用 HTTPS 的服务器配合时会造成无限循环;请切换为 Full 或 Full (strict)。
请求路径为 DNS -> 边缘节点 -> 缓存 -> WAF -> 源站,因此 522 或 525 错误都指向最后一跳,排查应从源站及其证书入手。
哪种代理类型适合你的工作?
如果你想保护并加速自己托管的服务器,请使用 Cloudflare 反向代理;如果需要从许多不同的 IP 发出出站请求,则应使用正向代理。两者用途相反,将它们混为一谈是这一话题中最常见的误解。
反向代理位于服务器前方,代表服务器面向互联网;正向代理位于客户端前方,代表客户端访问互联网的其他部分。下表清楚展示了方向上的差异:
| 方面 | 反向代理(Cloudflare) | 正向代理(例如DataImpulse) |
|---|---|---|
| 方向 | 入站:从互联网到源站 | 出站:从客户端到任意目标 |
| 它代表谁 | 你的服务器 | 客户端或抓取程序 |
| 它保护谁 | 源站(隐藏 IP,提供 WAF、TLS) | 请求方(轮换并隐藏来源 IP) |
| 典型用途 | 为你的站点提供CDN、缓存、DDoS防护和WAF | 抓取、测试、广告验证、地理位置检查 |
| IP模型 | 一个站点由边缘节点服务 | 覆盖多个国家的大量出口 IP |
这里需要明确一点:Cloudflare 反向代理位于站点前方,无法让出站请求看起来来自许多不同的 IP。如果你的工作是采集数据、进行本地化测试,或从多个地点验证广告,需要的是正向代理这一不同工具。为此,DataImpulse 在 195 个国家提供轮换的住宅代理和数据中心代理。Cloudflare 并非 DataImpulse 的产品,两者解决的问题恰好相反。
可参考以下决策矩阵:
- 在以下情况使用 Cloudflare 反向代理: 你托管网站或 API,并希望获得缓存、TLS、DDoS 防护和源站 IP 隐藏。
- 在以下情况需要正向代理: 你必须从不同 IP 发出出站请求,用于抓取、价格监控或广告验证,详见如何在不被封锁的情况下抓取网站。
- 在以下情况应避免使用 Cloudflare 反向代理: 目标是让自己的出站流量匿名,因为反向代理保护的是目的地,而非请求方。
有哪些局限和风险?
Cloudflare 反向代理在保护自有站点方面非常强大,但并非通用网络工具。使用前请了解以下限制。
- 它不会让出站流量匿名: 反向代理隐藏的是访客所见的源站,而非你向第三方发出的请求。
- 源站 IP 暴露会削弱防护: 若攻击者通过旧 DNS 记录或邮件头发现源站 IP,便可绕过边缘节点;请将源站防火墙配置为仅允许 Cloudflare 的 IP 段。
- Flexible SSL 并不安全: 它会使 Cloudflare 与源站之间的连接保持未加密,因此应优先选择 Full (strict)。
- 缓存正确性: 范围过宽的缓存规则可能返回过期或私有内容;应将规则限制在静态路径。
DataImpulse 是一家注重合规的代理服务提供商,不提供静态 ISP 代理、托管式抓取 API 或免费网络代理服务。如果你刚接触代理术语,在选择工具前可先阅读我们的什么是网络代理指南,了解基础知识。

常见问题
Cloudflare是反向代理吗?
是的。当某条DNS记录被设置为Proxied(橙色云朵)后,Cloudflare就会作为反向代理运行,在其边缘节点接收访客请求,并将其转发到你的源服务器,同时在这个过程中添加TLS、缓存和防火墙过滤。
什么是Cloudflare反向代理?
Cloudflare反向代理是指Cloudflare的边缘网络被部署在你的源服务器前面,使得进入你域名的入站流量在到达你的后端之前,先由Cloudflare进行检查、缓存和安全防护。
Cloudflare Tunnel与反向代理有什么区别?
Cloudflare Tunnel是一种连接没有公网IP的源站的特定方式,它通过运行一个轻量级守护进程,主动向外拨号连接到Cloudflare。它本质上仍然是一种反向代理的交付方式:两者都把Cloudflare放在你服务器的前面,但隧道方式无需开放入站端口,也无需暴露源站IP。
Cloudflare反向代理是免费的吗?
核心的反向代理功能,包括代理DNS、共享SSL、CDN缓存和基础WAF,都可以在Cloudflare的免费套餐中使用。高级规则、更高的速率限制以及部分安全控制则需要付费套餐;具体限制请查阅Cloudflare的官方定价页面。
Cloudflare反向代理可以用于网页抓取吗?
不可以。反向代理保护的是你所拥有的站点,不会从多个不同的IP发出出站请求。如果需要进行抓取、测试或广告验证,你需要一个正向代理,例如轮换住宅网络,这是一种不同的工具。
什么情况下DataImpulse不是合适的选择?
如果你需要静态ISP代理、完全托管的抓取API,或者需要访问银行和政府网站,DataImpulse并不是合适的工具。它专注于提供轮换的住宅、移动和数据中心代理,用于采集公开数据和访问内容。
