关于服务器CORS的配置和坑(fastapi后端)

碎碎念

这个服务器的CORS属实是给我整的够呛。requests库好用的一批,浏览器非做一个CORS,多少带点恶心人。而且nginx在nginx.conf里像网上说的,添加Access-Control-Allow-Origin之类的东西,一直不起作用,预检请求一直过不去,405。

解决方案

既然nginx没法add_header,考虑在后端配置CORS。我的后端使用fastapi,在定义app = FastAPI()后,添加以下代码在app后面。好使了。

1
2
3
4
5
6
7
8
from fastapi.middleware.cors import CORSMiddleware
app.add_middleware(
CORSMiddleware,
allow_origins=['*'],
allow_credentials=True,
allow_methods=['*'],
allow_headers=['*']
)