0

我處於棘手的狀況。CDN指向ELB和EC2

我正在創建一個類似於YouTube的網站。但是,不是隻播放視頻文件,而是通過標籤顯示HTML文件。 HTML文件本質上是一個視頻,但是通過動畫HTML元素(Adobe Captivate HTML5課程確切地說)產生。 HTML文件託管在AWS CDN上,網站代碼位於負載均衡器後面的EC2實例中。

當我嘗試通過JavaScript將命令發送到iframe中的HTML視頻時,問題就出現了。 Web瀏覽器拒絕執行我的代碼,因爲Web應用程序的域名與CDN中HTML文件的域名不同。瀏覽器將其視爲安全威脅(因爲它是兩個不同的域)並拒絕執行該命令。所以網站和HTML內容必須具有相同的域名來執行我的代碼。

所以我的問題是,我怎麼能有我的EC2實例文件具有相同的公共領域對我的S3實例的文件,同時要注意的是,S3的背後是CDN和EC2實例是在負載平衡器後面。

或者,我應該以另一種方式做這件事嗎?

謝謝。

+0

爲什麼不在相同的CDN後面添加S3和Load Balancer? – error2007s

+0

我在這裏讀到,這是不可能的:「CloudFront將無法請求來自多個來源的文件。」 - https://forums.aws.amazon.com/thread.jspa?messageID=658997 – AskYous

+3

這又回到了2011年。CloudFront可以根據URL路徑從多個來源提供服務。 –

回答

3

將CloudFront放置在S3和您的EC2實例之前。然後使用CloudFront Path Patterns將分佈映射到多個來源。