HTTPS для статического веб-сайта Amazon S3
Я хочу разместить статический веб-сайт с HTTPS, используя Amazon S3 и CloudFront. Вот что я сделал до сих пор:
- Настройте ведро S3 для статического хостинга веб-сайтов и разместите в нем мои файлы веб-сайта.
- Создал дистрибутив CloudFront и указал его на ведро S3
- Добавлена запись CNAME в моих серверах доменных имен для субдомена
www
, указывающего на ведро CloudFront.
До сих пор так хорошо - я могу получить доступ к своему сайту с помощью адреса www.example.com
. Тем не менее, я хочу, чтобы сайт был доступен только через HTTPS, для которого я купил SSL-сертификат от GoDaddy.
Теперь вопрос:
- Есть ли способ установить этот сторонний сертификат SSL на моем веб-сайте, размещенном на S3?
- Есть ли способ автоматического перенаправления HTTP на https с этой настройкой?
Ответы
Ответ 1
Да, на сегодняшний день вы можете сделать это бесплатно.
Теперь вы можете использовать HTTPS с CNAME на CloudFront, поскольку теперь он поддерживает пользовательские SSL-сертификаты с использованием указателя имени сервера (SNI): http://aws.typepad.com/aws/2014/03/server-name-indication-sni-and-http-redirection-for-amazon-cloudfront.html
Мне удалось создать бесплатный сертификат Class 1 StartSSL для моего распределенного статического сайта CloudFront на S3 без особых проблем (см. Ошибка CloudFront при обслуживании через HTTPS с использованием SNI).
Ответ 2
В 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/
Ответ 3
На сегодняшний день Cloudfront предлагает настраиваемый SSL: http://aws.amazon.com/cloudfront/pricing/
Имейте в виду, что они платят 600 долларов США в месяц. Подробнее о ссылке выше.
Ответ 4
Как было сказано ранее, это невозможно, но вы можете настроить Apache или nginx + SSL на экземпляр EC2, CNAME - ваш желаемый домен, и обратный прокси-сервер к фактическому URL-адресу S3 или Cloudfront.
Вы не получите преимуществ Cloudfront с этим, поэтому вам следует просто обслуживать ваш index.html или эквивалент и использовать "реальные" (неконкретизированные) URL-адреса Cloudfront для более тяжелых активов.
Ответ 5
В дополнение к ответу @wikichen.
От: https://aws.amazon.com/cloudfront/custom-ssl-domains/
По умолчанию вы можете доставлять контент для зрителей через HTTPS, используя ваше доменное имя домена CloudFront в своих URL-адресах, например https://dxxxxx.cloudfront.net/image.jpg.
Если вы хотите доставлять свой контент через HTTPS с помощью собственного имени домена и собственного SSL-сертификата, вы можете использовать одну из наших функций поддержки пользовательских сертификатов SSL.