在 AWS ELB 实例中终止 SSL

Terminating SSL at an AWS ELB instance

我需要在 AWS ELB 实例上终止 SSL。 IT/Ops 向我提供了一个包含以下内容的 ZIP 文件:

(实际上域显然不是example.com;但这是我们自己域的通配符证书。)

根据 ELB/SSL docs:

If you have a certificate ready to upload, select Upload a new SSL Certificate to AWS Identity and Access Management (IAM). Enter the name of the certificate. In Private Key, copy and paste the contents of the private key file (PEM-encoded). In Public Key Certificate, copy and paste the contents of the public key certificate file (PEM-encoded). In Certificate Chain, copy and paste the contents of the certificate chain file (PEM-encoded), unless you are using a self-signed certificate and it's not important that browsers implicitly accept the certificate.

但是,我不确定 "Certificate Chain File" 是哪个证书,或者是否有必要。我相信这些证书是由 root/trusted CA 签署的(不是自签名的)。

我不喜欢是在 Web 控制台还是在 AWS CLI 工具中执行此操作,但是 steps/actions 我需要使用我的特定文件做什么才能获得 ELB正确配置 SSL?

首先,不要通过旧的IAM服务方式,使用新的AWS ACM服务来管理证书。 ACM 服务也有一个很好的 Web 界面来执行此操作。

您从中获得证书的公司应该能够告诉您哪个文件是链文件,是的,如果您希望浏览器正确地将您的 SSL 证书视为有效,则需要链文件。我进行了一些搜索,发现 this blog post 讨论了在 AWS 中使用 Digicert 证书。看起来你的文件如下:

  • wildcard_example_com.key = 私钥文件
  • wildcard_example_com.crt = public 密钥文件
  • DigiCertCA2.pem 和 TrustedRoot.pem 合并 = 证书链