Как разрешить встраивание сайта, размещенного на Amazon, в iFrame?

У меня довольно мало опыта работы с AWS, поэтому это может быть проблемой понимания структуры сайта или сложностей между веб-хостами.

Раньше у меня был сайт, размещенный на HostMonster, и я мог разрешить ссылку на сайт из iFrame в другом домене. Это было достигнуто путем добавления опции ALLOW-FROM к параметрам x-frame-options.

Сайт недавно был перенесен на AWS. Он использует S3, EC2 с эластичным бобовым стеблем. Теперь, когда я пытаюсь встроить сайт, я получаю такую ​​ошибку:

Отказался отображать "http://example.com" во фрейме, поскольку для параметра "X-Frame-Options" установлено значение " САМЕОРИГИН.

Кажется очевидным, что я должен установить эту опцию, но я не понимаю, как это сделать.

Я нашел этот форум с просьбой о поддержке X-Frame-Options. Ответ службы поддержки AWS подтверждает, что S3 в настоящее время не поддерживает X-Frame-Options.

Означает ли это, что мне не повезло, или я просто лаю не на то дерево?

Я также изучил aws CORS header setting docs и попытался разрешить источник, из которого я встраиваю, и даже попытался разрешить from * to test.

Кроме того, я нашел этот GitHub для публикации файлов S3. Я реализовал политику и конфигурацию, которые они там установили, но все равно получаю ту же ошибку.

Если мне кажется, что я упустил что-то важное, спросите меня об этом. Как я уже сказал, я новичок в веб-разработке и все еще разбираюсь в этом.

Изменить:

Как было указано, интересно, что заголовок с X-Frame-Options вообще возвращается. Вот полный ответ, который я получаю, когда загружаю страницу напрямую.

Подключение: keep-alive

Тип содержимого: текст / html; charset = utf-8

Дата: вс, 19 июня 2016 г., 00:31:37 GMT

Сервер: Apache / 2.4.16 (Amazon) OpenSSL / 1.0.1k-fips mod_wsgi / 3.5 Python / 2.7.10

кодирование передачи: по частям

Параметры X-Frame: SAMEORIGIN


person mkatic    schedule 18.06.2016    source источник
comment
Вы также делаете некоторые предположения. Не угадай. Refused to display 'http://example.com' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'. Смотрите на заголовки ответов при загрузке сайта, а не в iframe. Эта ошибка, кажется, подразумевает, что заголовок is установлен, так что первые вопросы действительно? и как?   -  person Michael - sqlbot    schedule 19.06.2016
comment
Интересный момент. Думаю, это было бы хорошей новостью, так как это означает, что он поддерживается, и я просто не знаю, как его настроить. Я разместил заголовок ответа как правку к исходному вопросу.   -  person mkatic    schedule 19.06.2016
comment
Итак, это EC2, где вы можете делать практически все, что вам нужно. Ограничение распространяется только на S3.   -  person Michael - sqlbot    schedule 19.06.2016
comment
Я не совсем понимаю архитектуру здесь. Я унаследовал сайт после того, как все настроил другой разработчик. Я вижу, что у нас есть несколько экземпляров, работающих на EC2, но я также вижу корзину под S3 с именем сайта.   -  person mkatic    schedule 19.06.2016
comment
@mkatic, дайте мне знать, где я могу применить изменение в .ebextensions, я очень ценю это   -  person Farzad Salimi Jazi    schedule 13.12.2016


Ответы (1)


Вы должны включить файл enable_mod_deflate.conf в .ebextensions с настройкой «Заголовок всегда не устанавливает X-Frame-Options»:

enable_mod_deflate.conf

# mod_deflate configuration
<IfModule mod_deflate.c>
  <IfModule mod_headers.c>
   # Make surei proxies don't deliver the wrong content
   Header always unset X-Frame-Options  
  </IfModule>
</IfModule>
person mkatic    schedule 23.06.2016
comment
где найти файл enable_mod_deflate.conf - person Farzad Salimi Jazi; 13.12.2016
comment
Где расширение .ebextensions? - person Farzad Salimi Jazi; 13.12.2016
comment
У меня EC2, но нет Elastic Beanstalk, он тоже работает? - person Farzad Salimi Jazi; 13.12.2016