1

那里有大量的 Cloudfront 问题,但是谷歌搜索可能的问题仍然让我感到惊讶。这是我的...

我目前正在尝试将 SSL 证书上传到 IAM,以便我可以为 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

让 SSL 在 Cloudfront 上运行的正确组合是什么?

4

1 回答 1

7

你几乎已经完成。错误是您使用了错误的中间证书文件。您应该使用仅包含链的捆绑包,而不包含主证书。

换句话说,从 DNSimple 安装向导中,选择其他并下载文件 (1)、(2) 和 (4)。您下载的是 (3) 而不是 (4)。

主要区别在于 (3) 是 (4) + (1)。但是由于您已经使用--certificate-body参数显式传递 (1),Cloudfront 只想要没有主链的链。

在此处输入图像描述

于 2015-09-20T11:28:07.890 回答