HTTPS для статического веб-сайта Amazon S3


Я хочу разместить статический сайт только для HTTPS с использованием Amazon S3 и CloudFront. Вот что я сделал до сих пор:

  1. установите ведро S3 для статического хостинга веб-сайта и поместите в него файлы моего сайта
  2. создал дистрибутив CloudFront и указал его на ведро S3
  3. добавлена запись CNAME в серверы имен моего домена для www поддомен, указывающий на ведро CloudFront.

до сих пор, так хорошо - я могу получить доступ к моему сайту используя www.example.com адрес. Однако я хочу, чтобы сайт был доступен только через HTTPS, для чего я купил сертификат SSL от GoDaddy.

теперь вопрос:

  1. есть ли способ установить этот сторонний сертификат SSL на моем веб-сайте, размещенном на S3?
  2. есть ли способ иметь автоматическое перенаправление http на https с этой настройкой?
5 70

5 ответов:

да, на сегодняшний день Вы можете сделать это бесплатно.

теперь вы можете использовать HTTPS с CNAMEs на CloudFront, поскольку теперь он поддерживает пользовательские сертификаты SSL с помощью указания имени сервера (SNI): http://aws.typepad.com/aws/2014/03/server-name-indication-sni-and-http-redirection-for-amazon-cloudfront.html

мне удалось настроить бесплатный сертификат класса 1 StartSSL для моего распределенного статического сайта CloudFront на S3 без особых проблем (см.:ошибка CloudFront при обслуживании через HTTPS с помощью SNI).

на 2016-01-21 AWS запущен AWS Certificate Manager, который является свободный сервис, который позволяет выдавать SSL-сертификат для использования с Elastic Load Balancer и Cloud Front (вместе с S3 тоже).

вы можете узнать больше на: https://aws.amazon.com/certificate-manager/

и вы можете проверить, как развернуть свой сайт S3 + Cloudfront с бесплатным SSL от AWS на: https://aws.amazon.com/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based-apps-on-aws/

на сегодняшний день Cloudfront предлагает пользовательский SSL:http://aws.amazon.com/cloudfront/pricing/

имейте в виду, они взимают $600 / месяц. Более подробно по ссылке выше.

для меня я должен был загрузить простой сайт React на S3. Как описывает барболо, вам нужен сертификат для доступа к сайту через SSL. Если статический сайт, который вы хотите развернуть достаточно прост, вы можете:

  1. загрузить в S3.
  2. Do не выберите "статический хостинг сайта"
  3. преобразование всех относительных ссылок (на css, js и т. д.) В абсолютные ссылки.

например, из /css / media.CSS вы должны преобразовать его в https://s3-region-amazonaws.com/bucket-name/css/media.css (для меня я должен был изменить только ссылки в индексе.html)

  1. сделать только содержимое ведра общественности.

вот и все. Вы можете получить доступ к индексному файлу через https.

простой сайт-это сайт с основным индексом.html-файл, который указывает на некоторые страницы css и js.

в дополнение к ответу @wikichen.

от: https://aws.amazon.com/cloudfront/custom-ssl-domains/

по умолчанию вы можете доставлять контент зрителям по протоколу HTTPS, используя доменное имя распространения CloudFront в URL-адресах, например,https://dxxxxx.cloudfront.net/image.jpg.

Если вы хотите доставить свой контент по HTTPS, используя свое собственное доменное имя и свой собственный сертификат SSL, вы можете используйте одну из наших пользовательских функций поддержки сертификатов SSL.