CDN指向ELB和EC2

时间:2016-08-02 21:46:03

标签: amazon-web-services amazon-s3 amazon-ec2 amazon-cloudfront amazon-elb

我处境艰难。

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

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

所以我的问题是,我如何让我的EC2实例上的文件与我的S3实例上的文件具有相同的公共域,请记住S3是在CDN后面,并且EC2实例位于负载均衡器后面。

或者,我应该采取另一种方式吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

将CloudFront放在S3和EC2实例的前面。然后使用CloudFront Path Patterns将分布映射到多个来源。