解决 Vercel 连接 Cloudflare 出现 “ERR_TOO_MANY_REDIRECTS” 错误的指南

目录

解决 Vercel 连接 Cloudflare 出现 “ERR_TOO_MANY_REDIRECTS” 错误的指南

在将 Vercel 部署的项目连接到 Cloudflare 时,可能会遇到一个常见的问题——浏览器显示“将您重定向的次数过多”并提示 ERR_TOO_MANY_REDIRECTS 错误。这通常是由于 HTTPS 配置或代理设置不当引起的。幸运的是,官方文档提供了解决方法,本文将基于 Vercel 官方指南 帮助您快速排查并解决该问题。

image-20241207100350301

问题根源

当 Vercel 和 Cloudflare 之间的 HTTPS 设置冲突时,可能会导致循环重定向问题。

以下情况最容易触发该问题:

​ 1. CloudflareVercel 都启用了 HTTPS,但二者的重定向规则冲突。

​ 2. Cloudflare 的代理模式未正确配置。

​ 3. Vercel 项目的域名配置有误。

解决方案

按照以下步骤排查和解决该问题:

1. 检查 Vercel 的 HTTPS 配置

​ • 确保您在 Vercel 上绑定的自定义域名已经正确配置,并使用了 Vercel 提供的 SSL 证书(通常是自动生成的)。

​ • 进入 Vercel 项目的 Settings > Domains 页面,确保域名状态正常。

2. 在 Cloudflare 中配置 DNS

​ • 登录到 Cloudflare 仪表盘,进入 DNS 管理界面。

​ • 确保指向 Vercel 的记录是 CNAME 记录,而不是 A 记录。

​ • 示例:

类型: CNAME

名称: www

值: cname.vercel-dns.com

​ • 代理模式(Proxy Status) 设置为“Proxied”(橙色云图标),以便启用 Cloudflare 的 CDN 和安全功能。

3. 配置 Cloudflare 的 SSL/TLS 设置

​ • 在 Cloudflare 仪表盘中,前往 SSL/TLS > Overview,选择合适的 SSL 模式:

​ • 推荐使用 Full (Strict) 模式,以确保 Cloudflare 和 Vercel 之间的通信是完全加密的。

​ • 避免使用 “Flexible” 模式,这可能导致 HTTPS 与 HTTP 间的循环重定向。

image-20241207100249751