首页 > 解决方案 > 2020 年绕过 CORS

问题描述

我正忙于使用 API 网关在 AWS 上测试 API 设置,这是我第一次在服务器上为我从本地 PC 开发的 SPA 测试 API。因此,我从来不知道这个 CORS 的事情,男孩这令人沮丧!

有什么方法可以在 2020 年简单地绕过这个问题,因为 Chrome 的插件不起作用,并且使用禁用安全参数启动浏览器也不起作用。

问题是,对于想要在本地机器上工作的开发人员来说,为什么要绕过它让我无尽的沮丧和脏话变得如此困难,我的意思是真的!??!为什么实施者这样做?吐槽一下。

对我来说,当我想在本地 PC 上的浏览​​器上打开页面以调用 API 时,构建基础设施并在同一域内的 AWS 上启动和运行站点的想法现在太过分了。

为了让事情更令人沮丧,我尝试遵循关于 AWS 文档的过时指南(https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors-console.html)禁用此功能和更新的 AWS控制台不再允许“Access-Control-Allow-Origin”使用通配符。

究竟做了哪些恶事,导致了这种妄想症?

有什么建议么?

标签: cors

解决方案


你基本上有两种方法可以做到这一点。

  1. 您必须临时绕过 CORS-POLICY 才能从同一来源发出请求*:
Access-Control-Allow-Origin: *

然后强制 api 使用它(在 NODEJS + EXPRESS 的情况下):

app.use(cors());
app.options('*', cors());
  1. 您可以使用PostMan发出请求。

*记住:正如 Mozilla 开发论坛所说“使用通配符允许所有站点访问私有 API 是一个坏主意。” 请记住在发布 api 后关闭此功能!

如果它不起作用,请提供更多详细信息,例如您的 api 语言、平台 ....

Ps 你有 AWS 指南......它工作得很好


推荐阅读