从源 Y 访问 XMLHttpRequest X 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。
我在尝试将应用程序部署到云服务器时遇到了 CORS 问题。
localhost
进行通信)云中有一台服务器托管该系统的前端和后端。前端使用React+Vite编写,并使用nginx在80端口部署为静态站点。
后端使用Python+FastAPI编写,部署在同一服务器上运行的Docker容器内。它为 API 公开端口 5555。
FastAPI 应用程序中启用了 COSM 中间件:
from fastapi.middleware.cors import CORSMiddleware
origins = [
'http://localhost',
'http://localhost:80',
'http://localhost:5555',
'http://my-domain.co.uk',
'http://my-domain.co.uk:80',
'http://my-domain.co.uk:5555',
]
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=['*'],
allow_headers=['*'],
)
我不完全确定需要哪些端口。
这是我对CORS系统如何工作的理解:
my-domain.co.uk:80
。my-domain.co.uk:5555/api/something
my-domain.co.uk:5000/api/something
from my-domain.co.uk:80
我是否了解 CORS 正确工作的流程?
我查看了Chrome开发者工具的“网络”选项卡中的一些信息。我找不到任何类似
Access-Control-Allow-Origin
的标题。
什么可能导致这些缺失?