我正在使用无服务器的AWS提供程序部署Node.JS应用程序。由于我的前端应用程序不在同一个域中,我预计我必须添加CORS头。阅读无服务器documentation,我了解到我只需要在我的配置yml中添加一个cors: true
参数,如下所示:
registerParticipant:
handler: dist/infra/handlers/index.registerParticipantHandler
events:
- http:
method: POST
path: registerParticipant
cors: true
事实上,当我查看API网关控制台时,我可以看到在运行sls deploy
之后创建了一个OPTIONS路由:
但是,当我从我的应用发送POST
请求时,我仍然遇到跨标题问题。出于某种原因,似乎OPTIONS
请求返回状态码403.
OPTIONS https://#####.execute-api.us-east-1.amazonaws.com/registerParticipant 403()无法加载
https://#####.execute-api.us-east-1.amazonaws.com/registerParticipant: 对预检请求的响应未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许来源“http://localhost:3001” 访问。响应具有HTTP状态代码403.如果是不透明的响应 满足您的需求,将请求的模式设置为'no-cors'来获取 CORS禁用的资源。
有人知道我做错了什么吗?