我的代码的简化版本,使用两种方法。
from fastapi import FastAPI
middleware = [
Middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=False,
allow_methods=["*"],
allow_headers=["*"],
)
]
app = FastAPI(middleware=middleware)
字符串
从文件上看。
from fastapi import FastAPI, Request
from fastapi.middleware.cors import CORSMiddleware
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_methods=["*"],
allow_headers=["*"],
)
型
CORS总是失败。它给我一个CORS Missing Allow Origin
错误(或者只是一个一般的CORS
错误。我已经对头部进行了双重、三重和百重检查。请求总是发送一个origin,FastAPI从不响应Access-Control-Allow-Origin
。
我觉得我好像错过了一些非常简单的东西。我的前端使用NextJS,我用Redis缓存了我的大部分请求。整个网络都在Docker下,我已经尝试了localhost
和外部代理的CORS。我不认为这些信息是相关的,但你永远不会知道。
1条答案
按热度按时间wswtfjt71#
错误是我使用的是Github Codespaces,而CORS被搞砸了。切换到完全本地构建就成功了。