Google cloud platform GCP负载平衡器/API网关CORS问题

Google cloud platform GCP负载平衡器/API网关CORS问题,google-cloud-platform,google-cloud-load-balancer,google-cloud-api-gateway,Google Cloud Platform,Google Cloud Load Balancer,Google Cloud Api Gateway,我在谷歌云上运行了一个API,并在网关前使用API网关和GCP的负载平衡器公开了该API。这个API应该由多个租户使用,因此请求将来自不同的来源 现在,每当我尝试从另一个租户域访问API时,我都会因为CORS问题得到404 当我第一次设置它时,我得到一个错误,accesscontrolalloworigin在响应中不存在。然后,我更新了负载平衡器配置,将accesscontrolalloworigin:'*'添加到响应的头中 现在,在设置了头之后,我仍然得到404,但是错误消息更改为对飞行前请求

我在谷歌云上运行了一个API,并在网关前使用API网关和GCP的负载平衡器公开了该API。这个API应该由多个租户使用,因此请求将来自不同的来源

现在,每当我尝试从另一个租户域访问API时,我都会因为CORS问题得到404

当我第一次设置它时,我得到一个错误,
accesscontrolalloworigin
在响应中不存在。然后,我更新了负载平衡器配置,将
accesscontrolalloworigin:'*'
添加到响应的头中

现在,在设置了头之后,我仍然得到404,但是错误消息更改为
对飞行前请求的响应未通过访问控制检查:它没有HTTP ok状态。


有没有办法设置负载平衡器,使其不会因为CORS问题而阻止请求?

Hi Thiago当通过浏览器的XMLHttpRequest(XHR)请求API时,浏览器将发送两个请求: 使用OPTION方法获取飞行前标题(必须处理) 第二个实际请求POST/GET/

总结如下: 测试是否可以使用curl发出请求,来自命令行的请求将通过,因为它不会向端点发送选项请求。如果这是真的,则表示您不允许对端点进行选项请求,这就是问题所在


希望这能解决您的问题。

这能回答您的问题吗?我还没有找到任何关于如何使用API网关设置负载平衡的文档。你有文档/教程的链接吗?就是这样,api网关规范中没有定义选项请求Hi Thiago,你能分享一下OpenAPI规范中添加选项请求的语法吗?我也有同样的问题