Kev*_*vin 6 amazon-web-services amazon-vpc aws-api-gateway
我看过有关此问题的帖子,但没有任何问题或答案与我的问题足够接近,无法提供有效的答案。
我无法通过浏览器向 API 发送请求。
据我了解,问题在于,当您向 API 网关发送请求时;浏览器将首先发送预检选项请求。此预检请求不会添加任何自定义标头,即:x-apigw-api-idheader. 这会导致返回 403,甚至没有命中选项请求。
我的理解是客户端无法控制预检请求,它由浏览器处理。
获取请求通过邮递员工作,选项请求也是如此,但前提是我x-apigw-api-id为每个请求添加标头。
通过邮递员返回的标头并x-apigw-api-id添加到请求
{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,OPTIONS","Access-Control-Allow-Headers":"Content-Type,X-Api-Key,","Content-Type":"application/json"}
我删除标题,得到一个403 forbidden.
这个问题有解决方法吗?发送选项请求时也许不需要 x-apigw-api-id ?
我在发帖之前查过的一些问题:
小智 1
可以通过将 VPC 终端节点关联到您的私有 API 来解决此问题。这将为您的私有 API 生成 Route53 别名。从文档来看,
当您将 VPC 终端节点与私有 API 关联时,API Gateway 会生成新的 Route53 ALIAS DNS 记录,您可以使用该记录来调用私有 API,就像调用边缘优化或区域 API 一样,而无需覆盖主机标头或传递 x- apigw-api-id 标头。
| 归档时间: |
|
| 查看次数: |
2208 次 |
| 最近记录: |