CORS错误“它没有HTTP ok状态”使用从axios(next.js webpack)的API网关访问

1wnzp6jl  于 2023-08-04  发布在  iOS
关注(0)|答案(1)|浏览(145)

我正在努力解决一个'403'错误:* '...已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:它没有HTTP ok状态'*
任何建议,我如何可以调试或什么,我可能会错过的是赞赏

迄今为止进行的测试:

我在AWS中的lambda函数用正确的头响应:

  • 选项 curl 测试:x1c 0d1x的数据

  • 从chrome dev tools复制失败的axios命令为CURL(cmd):

    -(此 * 在命令行中不 * 工作,curl响应:'curl:(3)URL使用错误/非法格式或缺少URL')

  • 从chrome dev tools复制失败的axios命令为fetch

  • Online CORS Validator

  • 和 Postman 的React,以证明没有cors,功能的作品:x1c4d 1x

  • 其他信息:*

  • 我已经多次验证了url、x-api-key等,并尝试了axios请求的不同配置,所有结果都是相同的响应,请参见下面的axios请求

    的图像

  • APIGateway的一些图片显示了请求和集成:

    x 1c 7d1x

浏览器中的OPTIONS请求/响应(由Quentin建议):

我目前的推理路线:

  • 也许我需要在我的cloudwatch模板中定义一个额外的安全设置?
  • 也许webpack中有一个bug,next. js/ axios 0.27.2 / node 16.14.0。- 我发现了一个几乎相同的React提到HERE
wqlqzqxt

wqlqzqxt1#

403错误是由于OPTIONS响应x-api-key不被Web浏览器预期用于飞行前检查
一旦我通过以下方式禁用了cloudformation模板中所需的全局x-api-key:

Auth:
    ApiKeyRequired: false

字符串
结果如图所示;在控制台上显示OPTIONS -> API Key 'Not Required' x1c 0d1x

  • 响应成功!
    总之,api-gateway通过其默认配置干扰了预期的预检过程。
  • 警告!***

然而,在这个问题的范围之外有一个障碍,因为有多个人报告难以启用ApiKeyRequired for POST而不是OPTIONS。这是一个cloudformation问题(请参阅下面的链接来源了解更多细节)

更新:

在进行进一步的研究时,有足够多的人在2022年3月抱怨了这个确切的问题,一个特定的标志“AddApiKeyRequiredToCorsPreflight”当时是added
这里的例子
讨论来源:

相关问题