我在 AWS s3 中设置了一个存储桶,其中包含视频文件、大量图像和 js,以及一个包含所有 Assets 的主 index.html 文件。我还启用了 CloudFront,它指向 s3 存储桶。在我的 Rails 应用程序中,我有一个 iframe,我将其指向这样的 cloudfront-signedurl
<iframe src="https://abcde.cloudfront.net/index.html?Expires=1418801390&Signature=Qt0Y0HT5goit&Key-Pair_id=mykeypairid"></iframe>
但它给了我错误 未捕获的安全错误:阻止来源为“https://abcde.cloudfront.net ”的框架访问来源为“https://example.mydomain.co ”的框架。协议(protocol)、域和端口必须匹配。请注意,这些是不同的域,如何解决这个跨源问题,以便我可以将不同域的内容加载到我的应用程序中? 我还在 AWS 上添加了 CORS 配置,以允许来自所有来源的内容,但没有成功。
最佳答案
放弃协议(protocol),让浏览器决定。
删除https
:
src='//abcde.cloudfront.net.....'
关于ruby-on-rails - 从 AWS 渲染内容时出现跨源问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27522275/