Cloudflare DNS 与代理:完全指南
DNS 基础知识
DNS(域名系统)是互联网的电话簿,将域名转换为 IP 地址。常见记录类型包括 A 记录(IPv4)、AAAA 记录(IPv6)、CNAME 记录(别名)、MX 记录(邮件)等。DNS 解析流程通常是本地缓存 → 根服务器 → 顶级域名服务器 → 权威服务器。
Cloudflare DNS 记录类型解析
Cloudflare 提供多种 DNS 记录类型,每种有特定用途:
A 记录:将域名指向 IPv4 地址
AAAA 记录:将域名指向 IPv6 地址
CNAME 记录:创建域名别名,指向另一个域名
MX 记录:指定邮件服务器
TXT 记录:存储文本信息,用于验证和 SPF 等
NS 记录:指定 DNS 服务器
SRV 记录:指定特定服务的服务器
CAA 记录:指定证书颁发机构
CNAME 记录的特点与限制
CNAME 记录创建域名别名,指向目标域名,但有多种限制:
技术限制:
根域名(@)不能设置 CNAME
设置 CNAME 后不能同时设置其他记录
法律和权限限制:
未经授权使用他人域名可能违反版权
许多网站通过 CSP 阻止被第三方嵌入
目标网站可能拒绝非官方来源请求
CNAME 本身不是代理功能,只是域名指向。
Cloudflare 代理模式解析
Cloudflare 提供两种模式,通过云朵图标区分:
代理模式(橙色云)
访问流程:访问者 →Cloudflare→ 源服务器
隐藏源 IP,保护服务器
提供 DDoS 防护、WAF、bot 防护
CDN 加速与全球分发
自动 HTTPS 与 SSL 证书
缓存功能减轻服务器负担
流量分析与性能优化
DNS 模式(灰色云)
直接连接:访问者 → 源服务器
服务器 IP 对外可见
无安全防护
无 CDN 加速
仅提供 DNS 解析
HTTPS 与 Cloudflare 代理关系
如果源服务器没有配置 SSL 证书:
开启代理:可使用 HTTPS,Cloudflare 提供证书
不开启代理:无法使用 HTTPS
Cloudflare 代理创建两段加密连接:访问者 →Cloudflare 和 Cloudflare→ 源服务器,即使源服务器不支持 HTTPS,访问者仍能通过 HTTPS 访问。
正向代理 vs 反向代理
这两种代理机制完全不同:
Cloudflare 代理(反向代理)
面向网站所有者
在服务端工作
对访问者透明
修改请求的目标服务器
工作流程:用户 →Cloudflare→ 源服务器
Clash 类代理(正向代理)
面向个人用户
在客户端工作
需用户配置
修改请求的源 IP 地址
工作流程:用户 →Clash 代理 → 目标网站
地理位置限制的影响
地理位置限制在使用代理时变得复杂:
Cloudflare 代理:
源服务器 IP 限制失效
需在 Cloudflare 面板设置国家限制
用户使用 Clash:
会显示代理节点的地理位置
可能绕过地理限制
同时使用两者:
访问路径:本地设备 →Clash→Cloudflare→ 源服务器
获取真实 IP 地址
开启 Cloudflare 代理后,源服务器收到的是 Cloudflare 的 IP,获取真实 IP 方法:
使用 Cloudflare 专用请求头:
CF-Connecting-IP
(最可靠)X-Forwarded-For
(IP 链)
示例代码:
const realIP =
req.headers["cf-connecting-ip"] ||
req.headers["x-forwarded-for"]?.split(",")[0] ||
req.ip;
- 验证请求确实来自 Cloudflare,确保安全性
总结
Cloudflare DNS 和代理服务为网站提供安全、性能和便捷性。选择合适的记录类型和代理模式取决于具体需求。开启代理可获得 HTTPS、CDN 和安全保护等好处,但需要正确处理真实 IP 问题。理解正向代理和反向代理的区别有助于解决地理位置限制和访问控制问题。