CORS 错误

跨域资源共享 (CORS) 是一种标准,允许服务器放宽 同源策略。这用于明确允许某些跨域请求,同时拒绝其他请求。例如,如果某个网站提供可嵌入服务,则可能需要放宽某些限制。设置此类 CORS 配置并不一定容易,可能会遇到一些挑战。在本页中,我们将探讨一些常见的 CORS 错误消息以及如何解决它们。

如果 CORS 配置设置不正确,浏览器控制台将显示类似于 "Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at $somesite" 的错误,表明请求由于违反 CORS 安全规则而被阻止。但这并不一定意味着设置错误。请求也可能实际上被用户的 Web 应用程序和远程外部服务故意拒绝。但是,如果端点应该可用,则需要进行一些调试以使其成功。

识别问题

要了解 CORS 配置的根本问题,您需要找出哪个请求出错以及原因。以下步骤可能对您有所帮助:

  1. 导航到有问题的网站或 Web 应用程序,并打开 开发者工具
  2. 现在尝试重现失败的事务,并检查 控制台,看看是否出现 CORS 违规错误消息。它可能看起来像这样:

Firefox console showing CORS error

错误消息的文本将类似于以下内容:

Cross-Origin Request Blocked: The Same Origin Policy disallows
reading the remote resource at https://some-url-here. (Reason:
additional information here).

注意:出于安全原因,有关 CORS 请求出错的具体信息 *不可用于 JavaScript 代码*。代码只知道发生了错误。要确定具体出错的原因,唯一的办法是查看浏览器的控制台以获取详细信息。

CORS 错误消息

另请参阅