拒绝获取不安全的标头“AMP-Access-Control-Allow-Source-Origin”

Posted

技术标签:

【中文标题】拒绝获取不安全的标头“AMP-Access-Control-Allow-Source-Origin”【英文标题】:Refused to get unsafe header "AMP-Access-Control-Allow-Source-Origin" 【发布时间】:2017-12-28 10:27:45 【问题描述】:

我在 iframe 中带有 Google 地图的页面中使用 amp-iframe。该页面运行良好,并且在我尝试过的所有浏览器上都可以通过验证,MacOS 上的 Safari 除外。

我在控制台中收到此错误:

Refused to get unsafe header "AMP-Access-Control-Allow-Source-Origin"

我尝试将这些标头添加到我的服务器:

Header set Access-Control-Allow-Origin *
Header set Access-Control-Allow-Headers AMP-Access-Control-Allow-Source-Origin
Header set Access-Control-Expose-Headers AMP-Access-Control-Allow-Source-Origin
Header set AMP-Access-Control-Allow-Source-Origin https://example.com

但是,我仍然看到同样的错误。它只发生在 Safari 中。似乎与 CORS 有关。有人可以帮忙吗?

【问题讨论】:

基于此link,使用 CORS 时仅暴露 simple response headers。 Safari 10 中还有一个reported bug。但是,据说它不应该影响应用程序的运行时。这只是log 的console.error 如果您仍然遇到此问题,您能否发布指向该问题的示例页面的链接? 【参考方案1】:

我在嵌入 Google 日历时遇到了类似的问题,当我将 allow-scriptsallow-same-origin 添加到 sandbox 属性时,它得到了解决。此示例来自<amp-iframe> 文档:

<amp-iframe  
    sandbox="allow-scripts allow-same-origin"
    layout="responsive"
    frameborder="0"
    src="https://www.google.com/maps/embed/v1/place?key=AIzaSyDG9YXIhKBhqclZizcSzJ0ROiE0qgVfwzI&q=iceland">
</amp-iframe>

如果这不能解决您的问题,您能否编辑您的问题以包含您的 &lt;amp-iframe&gt; 代码以便我们提供帮助?

【讨论】:

以上是关于拒绝获取不安全的标头“AMP-Access-Control-Allow-Source-Origin”的主要内容,如果未能解决你的问题,请参考以下文章

拒绝获取不安全的标头“x-parse-job-status-id” - Vue.js 和 Parse Server

WebKit“拒绝设置不安全的标头'内容长度'”

通过 AJAX 读取静态地图时的不安全标头警告

使用 Google Chrome 的 xmlHttpRequest 时拒绝设置不安全的标头“Origin”

拒绝使用 ajax 调用 Rest 服务器设置不安全的标头“Cookie”

AngularJS:拒绝设置不安全的标头“Access-Control-Request-Headers”