在 github pages 的网页里调用自己的 fastapi 后端,需要单独设置一下 CORS 。目前后端使用下面的代码是能正常工作的
from fastapi.middleware.cors import CORSMiddleware
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=["*", ],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
但是将*号改成自己的网址的话却会显示请求被 cors 拒绝,搞不太清楚哪步出了问题
allow_origins=["https://my.github.io", ] # 改成这样以后就访问不了了
是因为 cors 只支持 https://*.github.io 这种写法吗?还是后端反向代理的原因,请求经过 nginx 反向代理到 fastapi 以后 origin 变了?
1
lisongeee 2022-04-21 10:31:13 +08:00
被拒绝是浏览器拒绝还是服务器拒绝?,完整的网络请求日志是什么?
|
2
LeeReamond 2022-04-21 11:24:50 +08:00
感觉不应该有问题,cors 没有不支持二级域名的说法,nginx 反向代理也不会替换 origin
|
3
xuanbg 2022-04-21 14:39:22 +08:00
allow_origins 星号现在不行了,也不能写多个域名。。。你要从请求头获取 origin 的值然后赋值给 allow_origins 才行。
|