FastAPI - CORS



跨域资源共享 (CORS) 是当一个运行在某个客户端浏览器上的前端应用程序试图通过 JavaScript 代码与后端进行通信的情况,而该后端与前端的“原点”是不同的。此处原点是协议、域名和端口号的组合。因此,https://127.0.0.1 和 https://127.0.0.1 有不同的原点。

如果一个 URL 的浏览器发送请求要求执行来自另一个原点的 JavaScript 代码,则该浏览器会发送一个 OPTIONS HTTP 请求。

如果后端通过发送适当的头部来自该不同原点的授权通信,它将允许前端 JavaScript 发送其请求到后端。为此,后端必须具有“允许原点”的列表。

要显式指定允许的原点,请导入 CORSMiddleware 并将原点列表添加到应用中间件。

from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
app = FastAPI()
origins = [
   "http://192.168.211.:8000",
   "https://127.0.0.1",
   "https://127.0.0.1:8080",
]
app.add_middleware(
   CORSMiddleware,
   allow_origins=origins,
   allow_credentials=True,
   allow_methods=["*"],
   allow_headers=["*"],
)
@app.get("/")
async def main():
   return {"message": "Hello World"}
广告