You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cloudflare配置正确对接Vercel站点时出现301重定向错误如何解决

问题描述

我尝试将Cloudflare作为托管在Vercel上站点的DNS服务商,DNS配置开启了Proxied代理模式。虽然Vercel官方默认不推荐该模式,但其官方文档给出了允许使用ProxiedDNS配置的方案,我参照文档创建了对应页面规则,配置如下图所示:
页面规则配置图
当前预期访问应该返回404 Not Found错误,但实际却返回301 Permanent Redirect错误,响应报文如下:

HTTP/1.1 301 Moved Permanently
Date: Sun, 05 Sep 2021 08:38:30 GMT
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Sun, 05 Sep 2021 09:38:30 GMT
Location: https://dispatchbot.ml/.well-known/acme-challenge
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=wImD0Hy4nEZEgaw3eCBVGSVyscQ8zEezbEjTjSJPIOSL%2BnsDFGnrbsyJkgP3LqweeZ0uC85E6kK%2FO4nPFA23%2BZaF5jgCZJOnawGwIotLAZ7nySmGHfHopr1qrut%2FaFDePg%3D%3D"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Server: cloudflare
CF-RAY: 689e244b8fb00efc-BOM
alt-svc: h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; ma=86400

备注:我已开启Cloudflare的Always use HTTPS设置,SSL/TLS Encryption模式设置为Full (Strict)。


解决方案

故障根因

该301跳转由Cloudflare全局规则优先级高于自定义页面规则导致:Cloudflare默认对ACME证书挑战路径有特殊重定向逻辑,你配置的/.well-known/acme-challenge/*路径规则优先级不足,加上开启了全局Always Use HTTPS,两个规则叠加触发了非预期的301跳转。

修复步骤

  • 调整页面规则排序:将针对/.well-known/acme-challenge/*路径的自定义规则拖动到所有页面规则的最顶端,确保其优先级高于其他所有规则
  • 核对规则配置项:该路径的规则必须同时满足三个配置:SSL 关闭、缓存级别 忽略缓存、自动HTTPS重写 关闭,任意一项配置错误都会导致跳转
  • 清除Cloudflare全局缓存:规则调整完成后,清理所有Cloudflare节点缓存,避免旧的重定向响应缓存持续生效
  • 可选优化:可以关闭全局Always Use HTTPS,新增一条匹配全站路径的页面规则设置强制HTTPS,优先级放在ACME路径规则之后,完全避免规则冲突

验证方法

可以通过curl指定Vercel源站IP访问目标路径,排除Cloudflare代理的影响,如果源站直接返回301,需要先检查Vercel侧的域名绑定与自定义重定向规则是否配置正确。


内容的提问来源于stack exchange,提问作者user14036065

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 13:00:01