SAAS出海
Supabase 接入 Google 一键登录完整配置指南
Supabase 邮箱注册与邮箱确认链接完整配置指南
Vercel + Supabase 环境变量与部署配置指南
Cloudflare 接入 Vercel 时,最容易忽略的那个配置
Resend 接入笔记:给 Vercel 项目加邮件发送能力
Hermes Agent:一个会长期陪你工作的开源个人代理
本文档使用 MrDoc 发布
-
+
首页
Cloudflare 接入 Vercel 时,最容易忽略的那个配置
# Cloudflare 接入 Vercel 时,最容易忽略的那个配置 很多人把域名接入 Cloudflare 之后,网站会突然出现一种很烦的情况: - 域名偶尔打不开 - 页面一直重定向 - 浏览器报 `ERR_TOO_MANY_REDIRECTS` - 明明 Vercel 上证书已经自动配好了,结果访问还是不正常 如果你的网站本身部署在 Vercel,而域名又准备走 Cloudflare,那么最关键的一件事其实不是 DNS 记录本身,而是 Cloudflare 里的 **SSL/TLS 加密模式**。 这篇文章就把这件事讲清楚,顺便给一套比较稳的配置思路。 ## 一、为什么会出现“域名不通”或者无限重定向 Vercel 在自定义域名接入之后,会自动给域名配置 HTTPS 证书。也就是说,从 Vercel 这一层看,你的网站本来已经是完整的 HTTPS 站点。 但如果域名前面又套了一层 Cloudflare,访问链路就会变成: 用户浏览器 -> Cloudflare -> Vercel 问题通常出在 Cloudflare 回源到 Vercel 这一段。 如果 Cloudflare 配成了错误的 SSL 模式,比如 `Flexible`,那么它和访客之间虽然是 HTTPS,但它回源到 Vercel 时可能走的是 HTTP。这就很容易和 Vercel 的 HTTPS 跳转策略打架,最后形成循环跳转。 结果就是: - 页面不断 301 / 302 来回跳 - 浏览器提示重定向过多 - 看起来像域名“访问不通” ## 二、最关键的配置:不要用 Flexible 这一点可以直接记住: - 不要用 `Flexible` - 至少要用 `Full` - 更推荐 `Full (strict)` 对于已经在 Vercel 上自动配置好证书的站点,Cloudflare 的最佳实践一般就是: **SSL/TLS -> Overview -> Full (strict)** 为什么推荐 `Full (strict)`? 因为它要求回源目标本身也有有效证书,而 Vercel 正好满足这个条件。这样整条链路都是标准 HTTPS,最不容易出问题。 如果你只是临时排查问题,也可以先切到 `Full` 看网站是否恢复。但长期建议还是 `Full (strict)`。 ## 三、Cloudflare 接入 Vercel时,DNS 应该怎么理解 Cloudflare 接入之后,通常大家会看到两种状态: - `DNS only`,灰云 - `Proxied`,橙云 它们的区别很大。 ### 1. 灰云:只托管 DNS 如果你只是想把域名 DNS 托管到 Cloudflare,但不一定要让所有流量都经过 Cloudflare,那么可以先用灰云。 这种方式的特点是: - 域名解析由 Cloudflare 管 - 实际访问还是直接到 Vercel - 最稳,最省事 - 不容易因为代理层再多一层而产生奇怪问题 如果你的目标只是: - 域名解析更稳定 - 后续方便统一管理 DNS - 给 Resend、邮箱等服务加 TXT 记录 那灰云已经够用了。 ### 2. 橙云:Cloudflare 做反向代理 如果你开的是橙云,那么 Cloudflare 不只是 DNS 服务商,它还会成为你网站的代理层。 这样做的好处是: - 可以用 Cloudflare 的缓存 - 可以加 WAF - 可以做访问防护 - 可以隐藏部分源站信息 但代价也很明显: - 配置更敏感 - 更容易遇到 HTTPS、缓存、回源头信息相关问题 - 一旦 SSL 模式没配对,就容易出 `ERR_TOO_MANY_REDIRECTS` 所以如果你要开橙云,**必须先确认 SSL 模式是 `Full` 或 `Full (strict)`**。 ## 四、如果你的网站在 Vercel,推荐怎么配 这是我更建议的一套思路。 ### 方案 A:追求稳定 - Cloudflare 托管 DNS - 域名记录先用 `DNS only` - Cloudflare SSL 模式设 `Full (strict)` 这个方案的优点是: - 最稳 - 不容易出现回源和重定向问题 - 出问题时排查简单 如果你的网站还在上线前或者刚上线,我建议先这样跑。 ### 方案 B:需要 Cloudflare 代理能力 - Cloudflare 托管 DNS - `www` 记录开橙云代理 - SSL 模式设 `Full (strict)` - 再根据需要启用缓存、WAF、规则 这个方案能发挥 Cloudflare 的能力,但一定要先把证书链路配正确。 ## 五、接入 Cloudflare 时,一个常见误区 很多人以为: “我域名证书已经在 Vercel 自动配置好了,那 Cloudflare 这边应该怎么配都行。” 其实不是。 Vercel 的证书只说明 **Vercel 这一端没问题**。 Cloudflare 接进来以后,还多了一段“Cloudflare 到 Vercel”的回源链路。如果这段链路的协议模式不对,整站依然可能异常。 所以正确理解应该是: - Vercel 负责源站 HTTPS - Cloudflare 负责代理层 HTTPS - 两边都要配对 ## 六、我自己的建议 如果你的网站是部署在 Vercel 上的,我会建议按下面顺序来: 1. 先把域名接到 Cloudflare 2. DNS 记录先用灰云 3. SSL/TLS 模式直接设成 `Full (strict)` 4. 确认站点访问正常 5. 确认 Vercel 域名状态正常 6. 再考虑是否需要切成橙云代理 这样不会一上来就把链路搞复杂。 ## 七、顺手再说一句邮件域名 如果你后面还要用 Resend 发邮件,比如: - 注册审批邮件 - 登录通知 - 系统提醒 那么把 DNS 放在 Cloudflare 下其实也很方便。 你只需要继续在 Cloudflare 里增加: - SPF - DKIM - DMARC 这些记录就行。 而网站访问配置,和邮件域名验证,最好分开理解,不要混成一件事。 ## 八、最后的结论 如果你的网站部署在 Vercel,而域名又准备接入 Cloudflare,请优先记住这句: **Cloudflare 的 SSL/TLS 模式不要用 Flexible,优先用 Full (strict)。** 很多所谓的“域名不通”“访问异常”“重定向过多”,最后根因都在这里。 真正稳妥的做法不是一上来把代理和缓存全开满,而是先把: - 域名解析 - HTTPS 链路 - 回源逻辑 这三件事配顺。 配顺了之后,Cloudflare 和 Vercel 完全可以一起稳定工作。
superadmin
2026年4月24日 08:11
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码