在本教程中,您将学习如何在 AWS(亚马逊网络服务)中安装 SSL 证书。 安装前,需要生成证书签名请求(CSR)并发送给 CA 以获得批准。 如果您还没有完成这一步,请参考教程的第一部分。 如果你已经有了 SSL 证书文件,就可以直接进入 SSL 安装指南。 最后一节将介绍如何为 AWS 服务器购买最佳 SSL 证书。
AWS 提供 90 多种基于云的服务。 本教程主要介绍以下产品:
- AWS 证书管理器 (ACM)
- 弹性负载平衡(ELB)
- AWS 身份和访问管理器 (IAM)
目录
- 如何在 AWS 中生成 CSR 代码?
- 准备所有证书文件
- 在 AWS ACM(亚马逊证书管理器)中安装 SSL 证书
- 在 AWS IAM(身份访问管理器)中安装 SSL 证书
- 在 ELB(弹性负载平衡)中安装 SSL 证书
- 测试 SSL 安装
- 在哪里购买 AWS SSL 证书?

如何在 AWS 中生成 CSR 代码?
申请 SSL 证书时,一个重要步骤是向 SSL 提供商(也称为证书颁发机构)提交 CSR 代码。 CSR 包含有关您的域名和公司的编码信息。 如果不提供该代码块,就无法获得签名 SSL 证书。
您有两个选择:
- 使用我们的CSR 生成器自动创建 CSR。
- 手动生成 CSR。 根据您使用的亚马逊服务,有几种生成 CSR 代码的方法。 最佳选择是在运行 SSL 证书的同一服务器上创建 CSR:
如果有负载平衡器,可以通过OpenSSL工具创建 CSR 代码。 要生成 CSR 和私钥,请运行以下命令:
openssl req -new -newkey rsa:2048 -nodes -keyout yoursite.key -out example.csr
注意:用您要保护的域名替换 yoursite 属性。
生成 CSR 代码后,您将收到一个代码块。 请复制并保存到文本编辑器中,包括–BEGIN CERTIFICATE REQUEST–和–END CERTIFICATE REQUEST–标记。 您在激活 SSL 证书时将需要此代码。
在 AWS 中安装 SSL 证书
请按照以下步骤在 AWS 中安装 SSL 证书。
准备所有证书文件
在开始安装之前,请确保您拥有所有必要的证书文件。 CA 签署 SSL 证书后,会将安装文件发送到你的收件箱。
这是你需要的东西:
- 为您要保护的域名签发的主证书文件
- 证书颁发机构的 CA 捆绑文件
- 您的私人密钥
你的 SSL 证书和 CA 捆绑包应该在 CA 发送给你的归档文件夹(zip 文件夹)中。
至于私钥,您已将其与 CSR 代码一起生成。 它与您创建 CSR 的位置相同。
最后需要注意的是 SSL 文件的格式。 由于 ACM/IAM 接受PEM 编码文件,因此必须确保 SSL 证书和私钥采用 PEM 格式。 这种特殊格式有多种扩展名(.pem、.key、.cer、.cert 等)。
如果您收到的是其他格式的文件,则必须将其转换为 PEM 格式。 您可以借助 Open SSL 命令来实现这一功能。
您的文件已经是 PEM 格式? 好极了 现在,你可以安装 SSL 证书了。
在 AWS ACM(亚马逊证书管理器)中安装 SSL 证书
在命令提示符下运行以下命令,将证书上传到 AMC。
aws acm import-certificate \
--certificate fileb://example.crt \
--private-key fileb://example.key \
--certificate-chain fileb://example-bundle.crt
注意:用文件的实际名称替换示例属性。
如果上传成功,您将收到证书 ARN(亚马逊资源名称)。 您需要使用此标识符来管理 SSL 证书。
注意:ACM 不会自动更新已导入的第三方证书,请跟踪并在更新时重新导入。您必须在与您要将其连接到的负载平衡器相同的区域导入/请求证书(CloudFront 使用 us-east-1)
以下是ACM 命令的完整列表,用于进一步管理证书。
在 AWS IAM(身份访问管理器)中安装 SSL 证书
使用以下命令将 SSL 证书上传到 IAM:
aws iam upload-server-certificate \
--server-certificate-name certificate-name \
--certificate-body file://example.crt \
--certificate-chain file://example-bundle.crt \
--private-key file://example.key
如下所示,替换粗体字的值:
- 证书名称:输入易于记忆的自定义名称。 它可以是你的域名,也可以是与 SSL 证书相关的任何其他值。 证书名称应包含大小写字母数字字符。 禁止空格
- 证书正文文件参数:包含主要 SSL 证书文件的实际名称
- 证书链文件参数:指定 CA 捆绑文件的名称
- 私钥文件参数:键入私钥文件的名称。
如果上传成功,命令提示符会生成一个包含服务器证书元数据的表,其中包括服务器路径、名称、ID、ARN(亚马逊资源名称)标识符、上传和到期日期。
有关 SSL 管理和故障排除的进一步帮助,请参阅亚马逊官方指南。 上传到 IAM 时,证书、私钥和链必须是 PEM 格式,密钥必须与证书匹配。
在 ELB(弹性负载平衡)中安装 SSL 证书
本节假定您已经在 IAM 或 ACM 中上传了 SSL 证书,并希望在现有的经典负载平衡器和应用程序负载平衡器上创建或更新 HTTPS 监听器。
要在 ELB 中安装证书,您需要证书的 ARN(亚马逊资源名称)和现有负载平衡器的 ARN。
经典负载平衡器
使用下面的命令创建 HTTP 监听器并为其分配 SSL 证书:
aws elb create-load-balancer-listeners \
--load-balancer-name my-load-balancer \
--listeners "Protocol=HTTPS,LoadBalancerPort=443,InstanceProtocol=HTTP,InstancePort=80,SSLCertificateId=ARN"
ARN 值是 ACM 或 IAM 中 SSL 证书的 ARN。
如果你已经有了 HTTPS 监听器,只想更新证书,请使用以下命令:
aws elb set-load-balancer-listener-ssl-certificate \
--load-balancer-name my-load-balancer \
--load-balancer-port 443 \
--ssl-certificate-id NewARN
NewARN 值是要导入的新 SSL 证书的 ARN。
在这里,您可以找到全部 ELB 命令。
此外,这里还有亚马逊关于经典负载平衡器 HTTPS 监听器的官方指南。
应用程序负载平衡器
运行以下命令在应用程序负载平衡器上创建 HTTP 监听器:
aws elbv2 create-listener \
--load-balancer-arn my-load-balancer-arn \
--protocol HTTPS \
--port 443 \
--certificates CertificateArn=my-certificate-arn \
--ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06 \
--default-actions Type=forward,TargetGroupArn=my-target-group-arn
您可以获取 负载平衡器 和 my-target-group-arn 属性:
aws elbv2 describe-target-groups
它将显示 AWS 框架中现有负载平衡器和目标组的相关信息。
如果要为现有 HTTPS 监听器添加新的 SSL 证书,请使用下面的命令:
aws elbv2 modify-listener \
--listener-arn my-https-listener-arn \
--certificates CertificateArn=my-new-certificate-arn
您可以找到 my-https-listener-arn 属性:
aws elbv2 describe-listeners \
--load-balancer-arn my-load-balancer-arn
单击此处进一步管理应用程序加载管理器。
测试 SSL 安装
浏览域名的 HTTPS 版本,检查 SSL 挂锁是否存在。 您可以点击查看证书的详细信息。 要进行全面测试,请使用这些强烈推荐的SSL 工具。 它们会扫描您的安装并创建即时报告。
在哪里购买 AWS SSL 证书?
在购买 SSL 证书时,你应该考虑三个基本方面:验证类型、价格和客户服务。 在 SSL Dragon,我们提供所有这些服务! 我们的 SSL 证书由业内最好的证书颁发机构颁发,与包括 AWS 在内的所有主要网络平台兼容。 无论您需要的是基本域名验证产品还是高级扩展验证证书,您都找对了地方。
SSL Dragon 的价格是市场上最低的,而我们技术精湛的支持团队则深受现有客户的赞赏。 如果不知道为网站选择哪种类型的 SSL 证书,请使用我们的SSL 向导和证书过滤器工具。 他们将帮助你找到完美的 SSL 产品。
如果你发现任何不准确的地方,或者你对这些 SSL 安装说明有任何细节需要补充,请随时发送反馈到[email protected]。 如果您能提供意见,我们将不胜感激! 谢谢。


