预检响应中的 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 不允许请求标头字段内容类型