0

Я в липкой ситуации.CDN, чтобы указать на ELB и EC2

Я создаю веб-сайт, похожий на YouTube. Однако вместо воспроизведения видеофайлов он также отображает файлы HTML с помощью тега . HTML-файлы - это, по сути, видео, но созданные через анимированные HTML-элементы (точнее, урок Adobe Captivate HTML5). HTML-файлы размещаются на CDN AWS, а код сайта размещается на экземпляре EC2 за балансировщиком нагрузки.

Проблема возникает, когда я пытаюсь отправить команды в HTML-видео в iframe через JavaScript. Веб-браузер отказывается выполнять мой код, потому что доменное имя веб-приложения отличается от имени домена HTML-файла в CDN. Браузер рассматривает это как угрозу безопасности (поскольку это два разных домена) и отклоняет выполнение команды. Поэтому сайт и содержимое HTML должны иметь то же самое происхождение домена, что и я, чтобы выполнить мой код.

Так что мой вопрос, как я могу иметь мои файлы на экземпляре EC2 имеют один и тот же публичный домен как файлы на моем случае S3, имея в виду, что S3 находится за CDN, и экземпляры EC2 являются за балансировкой нагрузки.

Или, должен ли я делать это по-другому?

спасибо.

+0

Почему вы не добавляете S3 и балансировщик нагрузки за тот же CDN? – error2007s

+0

Я читал здесь, что это невозможно: «CloudFront не сможет запрашивать файлы из нескольких источников». - https://forums.aws.amazon.com/thread.jspa?messageID=658997 – AskYous

+3

Это было еще в 2011 году. CloudFront может обслуживать несколько источников на основе URL-адреса. –

ответ

3

Место CloudFront перед S3 и вашим экземпляром EC2. Затем используйте CloudFront Path Patterns, чтобы отобразить распределение по нескольким причинам.

Смежные вопросы