Назад | Перейти на главную страницу

Альтернативные домены Cloudfront с использованием SNI для HTTPS

Я пытаюсь использовать Cloudfront для обслуживания корзины S3 через HTTPS, используя «Альтернативное доменное имя», но при загрузке сайта в браузере получаю эту ошибку:

NET::ERR_CERT_COMMON_NAME_INVALID

This server could not prove that it is example.com; its security
certificate is from *.cloudfront.net. This may be caused by a
misconfiguration or an attacker intercepting your connection.

Эта ошибка имеет смысл, но насколько я понимаю, Cloudfront каким-то образом должен иметь возможность использовать сертификат по умолчанию для работы с «Альтернативными доменными именами», если клиент поддерживает SNI. Вот документы AWS об этом:

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cnames-https-dedicated-ip-or-sni.html#cnames-https-sni

Я что-то не понимаю?

По сути, я просто хочу иметь возможность использовать HTTPS через Cloudfront без необходимости платить 600 долларов в месяц, которые AWS взимает за выделенные IP-сертификаты.

@ceejayoz был прав относительно использования ACM (Amazon Certificate Manager) для выполнения этой работы. В любом случае, у меня сейчас работает HTTPS, так что вот полный ответ, чтобы помочь другим (и моему будущему забывчивому я)

Вот шаги для настройки HTTPS с использованием SNI:

  1. Используйте ACM для создания сертификата для ваших доменов (это бесплатно)
  2. Подтвердите свое право собственности на домены (ACM сообщает вам об этом)
  3. Перейдите в консоль Cloudfront, щелкните свой дистрибутив, щелкните изменить на вкладке «Общие».
  4. В разделе «Сертификат SSL» теперь у вас должна быть возможность выбрать «Пользовательский сертификат SSL» (он отключен, если вы не создали сертификат).
  5. Выберите свой сертификат из раскрывающегося списка.
  6. В разделе «Поддержка клиентов SSL» убедитесь, что выбран вариант «Только клиенты, поддерживающие указание имени сервера (SNI)». (В противном случае с вас будут списаны безбожные деньги)
  7. Сохраните изменения, и все должно быть красивым.


Для ясности я нашел полезную информацию о ценах:

Я просмотрел мелкий шрифт на странице цен на Cloudfront и обнаружил еще несколько полезной документации: https://aws.amazon.com/cloudfront/custom-ssl-domains/

Важная строка в разделе «Пользовательский SSL SNI»:

«Для этой функции нет отдельной цены. Вы можете использовать SNI Custom SSL без предварительной или ежемесячной платы за управление сертификатами; вы просто платите обычные тарифы Amazon CloudFront за передачу данных и запросы HTTPS».

Вот несколько запутанных указаний изо рта лошади:

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cnames-and-https-procedures.html