HTTPS для статического веб-сайта Amazon S3
Я хочу разместить статический сайт только для HTTPS с использованием Amazon S3 и CloudFront. Вот что я сделал до сих пор:
- установите ведро S3 для статического хостинга веб-сайта и поместите в него файлы моего сайта
- создал дистрибутив CloudFront и указал его на ведро S3
- добавлена запись CNAME в серверы имен моего домена для
www
поддомен, указывающий на ведро CloudFront.
до сих пор, так хорошо - я могу получить доступ к моему сайту используя www.example.com
адрес. Однако я хочу, чтобы сайт был доступен только через HTTPS, для чего я купил сертификат SSL от GoDaddy.
теперь вопрос:
- есть ли способ установить этот сторонний сертификат SSL на моем веб-сайте, размещенном на S3?
- есть ли способ иметь автоматическое перенаправление http на https с этой настройкой?
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. Если статический сайт, который вы хотите развернуть достаточно прост, вы можете:
- загрузить в S3.
- Do не выберите "статический хостинг сайта"
- преобразование всех относительных ссылок (на css, js и т. д.) В абсолютные ссылки.
например, из /css / media.CSS вы должны преобразовать его в https://s3-region-amazonaws.com/bucket-name/css/media.css (для меня я должен был изменить только ссылки в индексе.html)
- сделать только содержимое ведра общественности.
вот и все. Вы можете получить доступ к индексному файлу через 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.