预检响应中的 Access-Control-Allow-Headers 不允许授权

Posted

技术标签:

【中文标题】预检响应中的 Access-Control-Allow-Headers 不允许授权【英文标题】:Authorization is not allowed by Access-Control-Allow-Headers in preflight response 【发布时间】:2017-08-15 19:39:54 【问题描述】:

当我向一个用 symfony2 编写的 api 发出 put 调用请求时,我需要修复 angularJs 中的一个错误。

我来自 angularjs 中的 http://ex-admin.com,我拨打电话的域不一样,它是 http://ex.com。我也看到了这个问题的类似答案,但我还没有解决这个问题。

我认为问题出在我在 symfony 中调用此 api(http:ex.com) 的服务器上。我也安装了 nelmio cors,但问题仍然存在。 另外我想说,该调用仅适用于获取和发布,但对于放置或删除它不起作用。

在这种情况下我是否还必须配置 apache?但问题是如何因为我不知道......每个人都可以帮助我吗?

非常感谢, 弗拉维斯

【问题讨论】:

这个 migt 可以帮助你:***.com/questions/17756550/angularjs-cors-issues 您必须从 config.yml 配置 nelmio 包以允许 PUT 和 DELETE 方法两种,请参阅:github.com/nelmio/NelmioCorsBundle 【参考方案1】:

我的问题是这样的:

我在 app.php $_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'] 中只允许 post 和 get 请求,我扩展了条件以允许 PUT 和 DELETE 请求。 ($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'] 被发布、获取、放置和删除。

谢谢你:D

弗拉维斯

【讨论】:

以上是关于预检响应中的 Access-Control-Allow-Headers 不允许授权的主要内容,如果未能解决你的问题,请参考以下文章

预检响应没有 HTTP ok 状态。 Angular 6 中的 403

OAuth 中的 CORS:对预检请求的响应未通过访问控制检查

预检响应中的 Access-Control-Allow-Headers 不允许授权

预检响应中的 Access-Control-Allow-Headers 不允许请求标头字段内容类型

预检响应中的 Access-Control-Allow-Header 中的允许请求标头字段

预检响应中的 Access-Control-Allow-Methods 不允许方法 PATCH