【问题标题】:Heroku does not allow CORS access to apps even on its own domainHeroku 即使在自己的域中也不允许 CORS 访问应用程序
【发布时间】:2019-12-17 20:51:50
【问题描述】:

我已经为此苦恼了一段时间。

我有一个 Nuxt 应用程序调用我的服务,两者都托管在 heroku 上。这是我最终添加的内容(在放弃 cors() 之后,我怀疑它的作用或不作用)

app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", '*');
    res.header("Access-Control-Allow-Credentials", true);
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
    res.header("Access-Control-Allow-Headers", 'Origin,X-Requested-With,Content-Type,Accept,content-type,application/json');
    next();
});

我可以在浏览器中确认我的服务器实际上是通过 DevTools 发送此信息的。

仍然,我看到以下错误:

这些是测试活动,所以我不在乎我自己的隐私。

什么鬼?服务器清楚地响应正确的 CORS 策略。我的 Nuxt 应用程序在尝试拨打某些电话时突然因为 cors 问题而拒绝通信。

我在一天中看到了很多错误,但我完全迷失了,我在这里发帖,所以任何建议或见解都将不胜感激。提前谢谢!

【问题讨论】:

  • 如果您使用的是 chrome,最新版本中的一些 cors 策略更改可能是问题
  • “服务器明确响应正确的 CORS 策略。” — 错误消息清楚地表明它没有。
  • “在放弃 cors() 之后,因为我怀疑它做什么或不做什么” - 它可以在一个广泛使用且经过良好测试的包中轻松完成您需要的一切。
  • 我知道这听起来很简单,但是这个中间件在代码中的什么位置?在您呼叫的路线之前?

标签: javascript express heroku cors nuxt.js


【解决方案1】:

你只提供 json 吗?对我来说,您似乎只允许 json?

【讨论】:

  • 这实际上是正确的答案。我的其他项目过于严格,但它们都属于 CORS 的保护伞
  • 很高兴听到这个消息:)
【解决方案2】:

看起来调用 ipstack 的服务器本身有一个错误,省略了 ? 参数,也就是一个疏忽,与 CORS 无关 :(

【讨论】:

    猜你喜欢
    • 2020-08-10
    • 1970-01-01
    • 2020-05-03
    • 1970-01-01
    • 2020-05-11
    • 2020-09-22
    • 2018-09-10
    • 1970-01-01
    • 2015-05-23
    相关资源
    最近更新 更多