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

Cloudflare将HTTPS请求重定向至HTTP,出现307错误

排查Cloudflare导致单个请求HTTPS转HTTP 307重定向问题

可能的原因及解决办法

1. 检查Cloudflare页面规则

登录Cloudflare控制台,进入「规则」→「页面规则」,筛选该请求对应的路径,确认没有配置始终使用HTTP或错误的重定向规则。如果存在错误规则,直接删除或修改为始终使用HTTPS。

2. 修复FastAPI后端的协议识别逻辑

Cloudflare作为反向代理会传递X-Forwarded-Proto头告知后端当前请求协议是HTTPS,FastAPI默认可能未正确识别该头,导致生成HTTP重定向URL。可以通过中间件强制处理:

from fastapi import FastAPI, RedirectResponse

app = FastAPI()

@app.middleware("http")
async def enforce_https(request, call_next):
    # 识别Cloudflare传递的协议头
    if request.headers.get("X-Forwarded-Proto") == "http":
        # 替换为HTTPS协议后重定向
        url = request.url.replace(scheme="https")
        return RedirectResponse(url=url, status_code=307)
    response = await call_next(request)
    return response

同时检查该请求对应的接口代码,确保没有硬编码生成HTTP的重定向URL。

3. 调整Cloudflare SSL/TLS模式

进入Cloudflare控制台「SSL/TLS」→「概述」,将模式设置为完全(严格)。如果用了「灵活」模式,Cloudflare到AWS服务器的通信是HTTP,会导致后端生成HTTP重定向。

4. 排除浏览器缓存干扰

用无痕模式测试该请求,或清除浏览器缓存后重试,避免旧的重定向缓存影响结果。

5. 检查AWS负载均衡配置

如果使用了AWS负载均衡,确认HTTPS监听器已启用转发X-Forwarded-Proto头到后端容器,确保后端能正确识别请求协议。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 16:09:54