Есть ли способ использовать HTTPS с CDN Amazon CNF и CNAME?

16

Мы используем Amazon CloudFront CDN с пользовательскими CNAME, висящими под основным доменом (static1.example.com). Хотя мы можем нарушить этот единый внешний вид и использовать оригинальные URL-адреса what123wigglyw00.cloudfront.net для использования HTTPS, есть ли другой способ?

Предлагает ли Amazon или любой другой аналогичный провайдер HTTPS CDN хостинг?

TLS и его выборочное шифрование доступны для использования где-нибудь (SNI: Указание имени сервера)?

Заметка для ног: предположим, что ответ отрицательный, но только в надежде, что кто-то знает.

РЕДАКТИРОВАТЬ : теперь с помощью Google App Engine https://developers.google.com/appengine/docs/ssl для хостинга CDN с поддержкой SSL.

Metalshark
источник

Ответы:

18

CloudFront с CNAME и HTTPS не поддерживается, см. Первое примечание в документации CloudFront CNAME .

Я не думаю, что какие-либо недорогие CDN поддерживают совместную работу CNAME и HTTPS, для этого им потребуется какой-то способ загрузить незашифрованный сертификат в их сеть CDN.

Carson
источник
2
Или так же, как Google предлагает конфигурацию DNS с Google Apps и eNom / GoDaddy. В en.wikipedia.org/wiki/Server_Name_Indication есть надежда на будущее. Мне было интересно, начал ли кто-нибудь из поставщиков испытывать эту возможность.
Metalshark
1
Примечание в 2016 году: этот ответ устарел, см . Ответ Джона Марка Митчелла ниже.
Бенджамин
16

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ, РЕДАКТИРУЕТ И ОБНОВЛЯЕТ НИЖЕ

На момент написания этой статьи (23 мая 2012 г.) SSL поддерживается через URL-адрес дистрибутива CloudFront. только. Это означает, что вы не можете CNAME SSL URL. Конкретно, вы можете ссылаться на элемент через SSL как:

https://[distribution].cloudfront.net/picture.jpg

но нет:

https://cdn.mydomain.com/picture.jpg

где cdn.mydomain.com - это CNAME для [дистрибутива] .cloudfront.net. В настоящее время вы получите ошибки SSL.

Это означает, что вы не можете использовать свое доменное имя или сертификат SSL. Это может вызвать проблемы с междоменными политиками в браузере, а также усложнить обслуживание сайта.

Персонал AWS заверил меня, что поддержка HTTPS для распространяемых CNAME есть в их списке функций, но для приоритизации требуется поддержка сообщества. Чтобы помочь в этом, пожалуйста, заполните опрос CloudFront (см. Ниже) и запомните этот запрос. Сотрудники AWS используют данные, собранные в ходе опроса, для планирования и определения приоритетов дорожной карты CloudFront.

Обязательно обратите внимание, что поддержка HTTPS CNAME необходима, когда вы принимаете участие в опросе CloudFront: http://aws.qualtrics.com/SE/?SID=SV_9yvAN5PK8abJIFK

РЕДАКТИРОВАТЬ: Заметил сообщение от 11 июня 2012 года, что AWS обновил ссылку на опрос:

Новая ссылка на опрос: http://aws.qualtrics.com/SE/?SID=SV_e4eM1cRblPaccFS

Я думаю, что стоит уделить время тому, чтобы сделать CNAME + SSL поддерживаемой функцией.

РЕДАКТИРОВАТЬ: Объявлено 11 июня 2013 года, пользовательские SSL-сертификаты с выделенными IP-адресами теперь поддерживаются с CloudFront на AWS:

См. Объявление о функции в блоге AWS: http://aws.typepad.com/aws/2013/06/custom-ssl-domain-names-root-domain-hosting-for-amazon-cloudfront.html

Прежде чем рассчитывать на этот маршрут, нужно рассмотреть один важный момент: вы должны увидеть значительную ценность отклонения от маршрута https: // [distribution] .cloudfront.net, поскольку стоимость размещения пользовательских сертификатов SSL составляет 600 долларов США в месяц.

РЕДАКТИРОВАТЬ: Объявлено 5 марта 2014 года, пользовательские сертификаты SSL с использованием индикации имени сервера (SNI) теперь поддерживаются с CloudFront на AWS - БЕЗ ДОПОЛНИТЕЛЬНОЙ ЗАРЯДКИ:

AWS теперь поддерживает пользовательские сертификаты SSL через SNI. Это ОГРОМНО, поскольку открывает возможность использовать существующую инфраструктуру AWS (IP-адреса). Таким образом, AWS не взимает дополнительную плату за эту услугу! Чтобы узнать больше, прочитайте об этом в блоге AWS: http://aws.typepad.com/aws/2014/03/server-name-indication-sni-and-http-redirection-for-amazon-cloudfront.html

Однако следует отметить, что одно из них - индикация имени сервера (SNI) имеет некоторые недостатки, которые следует учитывать, прежде чем полностью полагаться на них. В частности это не поддерживается некоторыми старыми браузерами. Если вы хотите лучше понять это, см .: /programming/5154596/is-ssl-sni-actually-used-and-supported-in-browsers.

РЕДАКТИРОВАТЬ: AWS объявил 21 января 2016 года, они будут предоставлять пользовательские сертификаты SSL бесплатно!

Чтобы прочитать о полном объявлении на сайте AWS: https://aws.amazon.com/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based-apps-on-aws/

Amazon объявил о новой услуге под названием AWS Certificate Manager, предлагающей бесплатные сертификаты SSL / TLS для ресурсов AWS.

Эти сертификаты обычно приобретаются у сторонних поставщиков сертификатов, таких как Symantec, Comodo и RapidSSL, и могут стоить от 50 до сотен долларов в зависимости от уровня проверки личности.

Процесс получения нового сертификата всегда был немного запутанным, требующим генерации запроса на подпись сертификата на защищаемом сервере, отправки этого запроса поставщику сертификата и последующей установки сертификата после его получения. Поскольку Amazon управляет всем процессом, все это исчезает, и сертификаты можно быстро выдавать и автоматически предоставлять на ресурсы AWS.

Есть несколько ограничений для сертификатов. Amazon предоставляет только проверенные доменные сертификаты - простая проверка, при которой проверка домена осуществляется по электронной почте. Если вы хотите сертификат расширенной проверки, вы можете придерживаться их текущих поставщиков сертификатов. Кроме того, сертификаты нельзя использовать для подписи кода или шифрования электронной почты.

Джон Марк Митчелл
источник
3
developers.google.com/appengine/docs/ssl документирует это. После двух лет попыток заставить AWS поддержать эту функцию, голосование по ней, когда конкурент уже выпустил эту функцию, слишком поздно.
Metalshark
Cmon AWS, я согласен с @Metalshark и всеми в этой теме. Я только что заполнил абсурдно длинную форму обратной связи AWS Cloudfront, чтобы поддержать CNAME-HTTPS, но если Google App Engine предлагает это, и этому вопросу уже 2 года, вы должны сделать что-то как можно скорее !!!
Тим Петерсон
Я не вижу ничего на странице Google App Engine о CDN. AWS уже предлагает бесплатную поддержку SSL для всего остального, но поддержка CDN сложнее. Не цитируйте меня, но я подозреваю, что это связано с несколькими IP-адресами.
Руперт Роунсли
Спасибо за обновление этого ответа, Джон. Я только что удалил кучу устаревших комментариев, которые были включены в ответ. Вероятно, было бы легче прочитать ответ, если бы вы просто удалили устаревшую информацию, а не использовали зачеркивание. Полную историю изменений вашего ответа можно получить, нажав на ссылку, которая показывает, когда вы редактировали ответ.
Стивен Остермиллер