python network_error ai_generated true

CORS 错误:来源 'http://example.com' 未被 Access-Control-Allow-Origin 允许

CORS: origin 'http://example.com' not allowed by Access-Control-Allow-Origin

ID: python/fastapi-cors-error-origin-not-allowed

其他格式: JSON · Markdown 中文 · English
80%修复率
85%置信度
0证据数
2024-05-12首次发现

版本兼容性

版本状态引入弃用备注
3.9 active
3.10 active

根因分析

FastAPI 应用未正确配置 CORS 中间件以允许特定来源

English

FastAPI 应用未正确配置 CORS 中间件以允许特定来源

generic

解决方案

  1. 95% 成功率 使用 CORSMiddleware 并添加允许的来源
    from fastapi.middleware.cors import CORSMiddleware
    app.add_middleware(CORSMiddleware, allow_origins=['http://example.com'])
  2. 90% 成功率 允许所有来源(仅用于开发)
    app.add_middleware(CORSMiddleware, allow_origins=['*'])

无效尝试

常见但无效的做法:

  1. 只在前端设置请求头而不修改后端 95% 失败

    CORS 策略由服务器控制,前端无法绕过

  2. 在 FastAPI 中手动添加响应头但未使用中间件 70% 失败

    可能被其他中间件覆盖或处理不当