cf cdn Cloudflare 如何处理 HTTP 请求标头?
了解 Cloudflare 如何处理来自您的源站 Web 服务器的标头,以及 Cloudflare 会将哪些标头添加到代理的请求。概述
Cloudflare 将所有 HTTP 标头按原样从客户端传递到源站,并添加如下指定的额外标头。
Cloudflare 会从源站 Web 服务器响应中剔除任何包含句点 (.) 的标头。例如,Cloudflare 代理会删除源站 Web 服务器标头 test.header:data。
CF-IPCountry
包含原始访问者所在国家/地区的双字符国家/地区代码。对于未知国家/地区信息,则使用 XX。通过在控制面板中启用 Cloudflare IP Geolocation,将此标头添加到请求中。
示例:Cf-Ipcountry:US
CF-Connecting-IP
将原始客户端(访问者)IP 地址提供给源站 Web 服务器。
示例:CF-Connecting-IP:203.0.113.1
X-Forwarded-For
维护代理服务器和原始访问者 IP 地址。如果发送到 Cloudflare 的请求中不含现有的 X-Forwarded-For 标头,X-Forwarded-For 将具有与 CF-Connecting-IP 标头相同的值:
示例:X-Forwarded-For:203.0.113.1
如果发送到 Cloudflare 的请求中已存在 X-Forwarded-For 标头,则 Cloudflare 会将 HTTP 代理的 IP 地址附加到这个标头:
示例:X-Forwarded-For:203.0.113.1,198.51.100.101,198.51.100.102
在上例中,203.0.113.1 是原始访问者 IP 地址,198.51.100.101 和 198.51.100.102 则是通过 X-Forwarded-For 标头提供给 Cloudflare 的 IP 地址。
要在您的源站 Web 服务器上恢复原始访问者 IP 地址,Cloudflare 建议您的日志或应用程序检查 CF-Connecting-IP 或 True-Client-IP 而非 X-Forwarded-For,因为 CF-Connecting-IP 和 True-Client-IP 具有仅含一个 IP 的一致格式。
X-Forwarded-Proto
由于 Flexible SSL 指示 Cloudflare 通过 HTTP 连接到您的源站 Web 服务器,因此 X-Forwarded-Proto 会告知源站 Web 服务器访问者在连接 Cloudflare 时实际使用的是 HTTPS 还是 HTTP:
示例:X-Forwarded-Proto: https
CF-RAY
CF-Ray 是一个编有数据中心和访问者请求相关信息的哈希值:
示例:Cf-Ray:230b030023ae2822-SJC
将 CF-Ray 标头添加到您的源站 Web 服务器日志,以将代理至 Cloudflare 的请求匹配到您服务器日志中的请求。Enterprise 客户还可通过 Cloudflare Logs 查看所有请求。
CF-Visitor
仅包含一个名为 scheme 的键的 JSON 对象。其值与 X-Forwarded-Proto 的值相同(HTTP 或 HTTPS)。CF-Visitor 只有在使用 Flexible SSL 时有意义。
示例:Cf-Visitor: { \"scheme\":\"https\"}
True-Client-IP(仅 Enterprise 计划)
将原始客户端(访问者)IP 地址提供给源站 Web 服务器。True-Client-IP 仅适用于 Enterprise 计划。在下例中,203.0.113.1 是原始访问者 IP 地址。
示例:True-Client-IP:203.0.113.1
除了标头名称外,True-Client-IP 和 Cf-Connecting-IP 之间绝无差别。一些拥有传统设备的 Enterprise 客户需要 True-Client-IP,以避免更新防火墙或负载均衡器来读取自定义标头名称。
CDN-Loop
允许 Cloudflare 指定请求在作为循环请求而被阻止前可进入 Cloudflare 网络的次数。
示例:CDN-Loop: cloudflare
https://support.cloudflare.com/hc/zh-cn/articles/200170986
{:3056:} 在宝塔里安装防火墙, 添加这些header, 一样经常521,很头疼!
页:
[1]