Добавление SSL в Cloudfront
Существует множество вопросов о Cloudfront, однако поиск в Google для возможных проблем все еще поражает меня. Вот мой...
Сейчас я пытаюсь загрузить SSL-сертификат в Cloudfront, чтобы я мог использовать https://assets.mydomain.com/. Это, однако, не так хорошо. Сертификаты были приобретены у DNSimple. Загрузка AWS cli выглядит так:
aws iam upload-server-certificate \
--server-certificate-name MyDomainProduction \
--path /cloudfront/ \
--certificate-body file://~/Downloads/STAR_mydomain_com/STAR_mydomain_com.crt \
--private-key file://~/Downloads/STAR_mydomain_com.key \
--certificate-chain file://~/Downloads/STAR_mydomain_com.pem
Ошибка:
A client error (MalformedCertificate) occurred when calling the
UploadServerCertificate operation: Unable to validate certificate
chain. The certificate chain must start with the immediate signing
certificate, followed by any intermediaries in order. The index within
the chain of the invalid certificate is: 1
Я думаю, что перепробовал 500 различных возможностей, и у меня нет идей, почему я не могу заставить вещи работать. Вот что я получил в своем наборе инструментов для того, что DNSimple и Comodo вернули мне:
STAR_mydomain_com.pem
STAR_mydomain_com.key
STAR_mydomain_com/AddTrustExternalCARoot.crt
STAR_mydomain_com/COMODORSADomainValidationSecureServerCA.crt
STAR_mydomain_com/COMODORSAAddTrustCA.crt
STAR_mydomain_com/STAR_mydomain_com.crt
Какая правильная комбинация crts, pem и key для работы SSL в Cloudfront?
1 ответ
Вы почти закончили. Ошибка в том, что вы используете неправильный промежуточный файл сертификата. Вы должны использовать пакет, который включает только цепочку, без основного сертификата.
Другими словами, в мастере установки DNSimple выберите " Другое" и загрузите файлы (1), (2) и (4). Вы скачали (3) вместо (4).
Основное отличие состоит в том, что (3) равно (4) + (1). Но, как вы уже передаете (1) явно используя --certificate-body
param, Cloudfront хочет только цепочку без первичной.