Я пытаюсь использовать 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 через Cloudfront без необходимости платить 600 долларов в месяц, которые AWS взимает за выделенные IP-сертификаты.
@ceejayoz был прав относительно использования ACM (Amazon Certificate Manager) для выполнения этой работы. В любом случае, у меня сейчас работает HTTPS, так что вот полный ответ, чтобы помочь другим (и моему будущему забывчивому я)
Вот шаги для настройки HTTPS с использованием SNI:
Для ясности я нашел полезную информацию о ценах:
Я просмотрел мелкий шрифт на странице цен на 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