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
80%修复率
85%置信度
0证据数
2024-05-12首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 3.9 | active | — | — | — |
| 3.10 | active | — | — | — |
根因分析
FastAPI 应用未正确配置 CORS 中间件以允许特定来源
English
FastAPI 应用未正确配置 CORS 中间件以允许特定来源
解决方案
-
95% 成功率 使用 CORSMiddleware 并添加允许的来源
from fastapi.middleware.cors import CORSMiddleware app.add_middleware(CORSMiddleware, allow_origins=['http://example.com'])
-
90% 成功率 允许所有来源(仅用于开发)
app.add_middleware(CORSMiddleware, allow_origins=['*'])
无效尝试
常见但无效的做法:
-
只在前端设置请求头而不修改后端
95% 失败
CORS 策略由服务器控制,前端无法绕过
-
在 FastAPI 中手动添加响应头但未使用中间件
70% 失败
可能被其他中间件覆盖或处理不当