Будет ли возможно иметь https на моем статическом веб-сайте Amazon S3 с Let's Encrypt?
Даже у меня есть Let's Encrypt Закрытое бета-приглашение сейчас. Но как использовать его с Amazon S3?
Будет ли возможно иметь https на моем статическом веб-сайте Amazon S3 с Let's Encrypt?
Даже у меня есть Let's Encrypt Закрытое бета-приглашение сейчас. Но как использовать его с Amazon S3?
Ответ на вопрос состоит из двух частей.
Во-первых, использование «Let's Encrypt» на самом деле не имеет отношения к вопросу: это Центр сертификации (CA). Он выпускает сертификаты SSL (TLS), как и все остальные, за исключением того, что он, очевидно, будет выдавать только сертификаты валидации домена (DV), и эти сертификаты будут выдаваться бесплатно. Но эти последние два пункта (хотя и интересные) также не имеют отношения к вопросу.
Итак, «можно ли использовать SSL-сертификат от Let's Encrypt на статическом веб-сайте, размещенном на S3?"это не правильный вопрос, чтобы задать. Единственный вопрос: «Могу ли я использовать HTTPS для своего домена с предоставленным сертификатом на статическом сайте, размещенном на S3?"
Первый ответ: Нет.
Конечные точки сайта не поддерживают https.
http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html
Второй ответ: да.
Как?
CloudFront перед S3. Вы можете настроить дистрибутив CloudFront, указав имя хоста веб-сайта группы как "пользовательский" источник, затем загрузить новый сертификат SSL в CloudFront и изменить DNS так, чтобы он указывал на CloudFront, а не непосредственно на корзину.
Это единственное решение, использующее полностью нативные компоненты, управляемые AWS, для "установки" собственного SSL-сертификата для собственного домена на статическом веб-сайте, размещенном в S3. Сервис S3 не поддерживает это напрямую, не с сертификатами Let's Encrypt или с сертификатами от любого другого CA.
Вы можете хранить файлы вашего сайта на S3, но для публикации вам необходимо использовать CloudFront. И там вы сможете выбрать собственный сертификат, который нужно загрузить в хранилище сертификатов AWS IAM. Как загрузить собственный сертификат сервера: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs_manage.html
Первый вопрос -> Нет.
Второй вопрос -> Есть возможность добавить еще один сервис, такой как CloudFront, перед S3, но вам все равно нужно получить сертификат (CloudFront не сделает это за вас). Существуют некоторые инструменты и службы, которые помогут вам получить сертификат Let's Encrypt (LE), но это не решение одним щелчком мыши. Это все еще немного хлопот. Но есть и другие сервисы, которые вы можете поставить перед S3, и они предлагают интеграцию LE одним щелчком мыши, когда вам вообще не нужно иметь дело с сертификатами (они сделают это за вас).
Вы можете создать свой собственный ssl-сертификат, используя OpenSSL, и применить его через конфигурацию apache (при условии, что вы используете apache). Однако помните, что собственные сертификаты и https позволяют всем браузерам предупреждать пользователя о том, что ваш сайт может быть «небезопасным» или «скомпрометированным» при использовании указанного сертификата собственного производства. Вы можете получить ssl-сертификат в сертификационном центре, хотя это имеет оборот и обычно стоит определенную сумму денег.
Насколько я понимаю, система Let's Encrypt требует, чтобы вы предоставили доказательство того, что вы управляете сайтом, написав файл json, содержащий одноразовый номер в известном месте. После этого у вашего агента есть ключ, который он может использовать для обновления SSL-сертификата. Агент должен каким-то образом написать сертификат в нужное место, но я не верю, что он должен работать на компьютере, обслуживающем веб-сайт.
Таким образом, вы можете попросить агента записать его в папку, которую вы иногда проверяете из некоторого сценария, который затем использует правильные вызовы Amazon API для обновления сертификата. Возможно, даже возможно, чтобы агент напрямую вызвал этот скрипт.
Отказ от ответственности: я на самом деле не смотрел на давайте зашифруем подробно; это то, что я понял из документации "как это работает".