CDN 指向 ELB 和 EC2

CDN to Point to ELB and EC2

我的处境很棘手。

我正在创建一个类似于 YouTube 的网站。但是,它不仅播放视频文件,还通过 <iframe> 标签显示 HTML 文件。 HTML 文件本质上是视频,但通过动画 HTML 元素制作(确切地说是 Adob​​e Captivate HTML5 课)。 HTML 文件托管在 AWS CDN 上,网站代码托管在负载均衡器后面的 EC2 实例上。

当我尝试通过 JavaScript 向 iframe 中的 HTML 视频发送命令时出现问题。 Web 浏览器拒绝执行我的代码,因为 Web 应用程序的域名与 CDN 中 HTML 文件的域名不同。浏览器将此视为安全威胁(因为它是两个不同的域)并拒绝执行该命令。因此,该网站和 HTML 内容必须具有相同的域来源才能执行我的代码。

所以我的问题是, 我怎样才能让我在 EC2 实例上的文件与我的 S3 实例上的文件具有相同的 public 域,记住S3 在 CDN 后面,而 EC2 实例在负载均衡器后面。

或者,我应该换一种方式吗?

谢谢。

将 CloudFront 置于 S3 和您的 EC2 实例之前。然后使用 CloudFront Path Patterns 将分布映射到多个来源。