cors - 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-POLICY 才能从同一来源发出请求*:
Access-Control-Allow-Origin: *
然后强制 api 使用它(在 NODEJS + EXPRESS 的情况下):
app.use(cors());
app.options('*', cors());
- 您可以使用PostMan发出请求。
*记住:正如 Mozilla 开发论坛所说“使用通配符允许所有站点访问私有 API 是一个坏主意。” 请记住在发布 api 后关闭此功能!
如果它不起作用,请提供更多详细信息,例如您的 api 语言、平台 ....
Ps 你有 AWS 指南......它工作得很好
推荐阅读
- azure - 在 Cosmos DB 中,异地复制如何影响写入的 RU 消耗?
- swift - xcodebuild 归档 - 未捕获的异常:对象不能为 nil(键:IDEArchivePathOverride)
- javascript - 用 Javascript 发送电子邮件
- json - jsmn解析器:如果值与键名相同,则解析不正确
- flutter - Flutter - 笛卡尔图表 - 几分钟后我的图表开始覆盖自己
- php - 合并两个数组中的问题并删除php中的重复条目
- python - PyTorch 中模型的预测始终为 0(模型训练不起作用)
- python-3.x - 通过不在特定领域工作的 Lambda Python Dynamodb 订单
- java - 是否有等效于 spring EL #{someBean.someProperty} 的蓝图
- java - XmlMapper 将 XmlProperty 反序列化为 XmlElement