前言
SSL/TLS 证书广泛用于保护网络通信的安全,包括加密通信双方的消息内容,以及确认网站的合法身份等。以前,您可能需要支付高昂的费用来购买 SSL 证书,或者使用一些有效期很短的免费证书,此外,还不得不花精力来维护证书的续订、轮换等。现在,您可以利用 Amazon Certificate Manager(ACM)服务,来快速申请免费的公有证书,并在 云上资源 (如 Elastic Load Balancer、API Gateway)上部署该证书,证书续订操作也可以放心交给 ACM 帮您自动处理。
本教程会首先介绍 ACM 公有证书的申请方法,然后分别以 Amazon Application Load Balancer(ALB), Amazon API Gateway 为例,指导如何配置 ACM 公有证书。(注:中国区 CloudFront 不支持 ACM 公有证书,请导入第三方证书)
关于本教程 | |
---|---|
预计部署时间 | 10 分钟 |
费用 | 免费 |
主题 | 免费 SSL/TLS 证书 |
受众 | 所有人 |
级别 | 初级 |
相关产品 | Amazon Certificate Manager |
相关行业 | 通用 |
上次更新日期 | 2023 年 5 月 |
准备工作
您需要确定自己将会使用 ALB, Amazon API Gateway 中的至少其中一项服务,且您
需要拥有一个域名或者有配置域名解析记录的权限,否则,您需要申请一个域名。以下操作以 Amazon Route 53(Amazon 的域名服务) 为例。
第一步:确认区域
对于 ALB 或者 Amazon API Gateway 服务,您需要选择在与之相同的区域来申请 ACM 证书。您可以在页面右上角确认当前所处区域。
第二步:申请证书
-
2.1 打开 ACM 服务控制台
在“查找服务”搜索框,输入“ACM”,点击“Certificate Manager”
-
2.2 在证书管理页面,点击请求证书
2.2.1 请求证书操作
在 Domain names(域名)部分,输入您的域名;
在 Validation method(验证方法)部分,根据您的需要选择 DNS validation – recommended(DNS 验证 – 推荐)或 Email validation(电子邮件验证),本次操作选择DNS验证;
在 Key algorithm(密钥算法)部分中,选择默认算法:RSA 2048(默认);
最后,点击 Request(请求)。2.2.2 验证域的所有权 - DNS 验证
处理请求后,控制台将返回证书列表,其中会显示有关新证书的信息。在接到请求时,证书的状态将变为 Pending validation(等待验证),点击证书 ID,进入证书详情。
在 Domains(域)部分,使用 Route 53 进行验证,点击Create records in Route 53(在 Route 53 中创建记录)按钮。
选择 Create records(创建记录)
配置成功后,过一会后即可查看状态为已颁发。
第三步:选择相应的服务,启用 Https 并配置 ACM 公有证书
-
选项一:在 ALB 上启用 Https 并配置 ACM 公有证书
1、找到 ALB,并选择添加侦听器。
2、选择 HTTPS 协议,端口默认 443 并添加转发。
3、选择默认安全策略。
4、选择刚才创建的 SSL 证书,并保存。
5、接下来您就可以使用HTTPS协议访问域名,测试是否配置成功。
-
选项二:在 Amazon API Gateway 上启用 HTTPS 并配置 ACM 公有证书
您需要使用 HTTP API 或者 REST API 的自定义域名,本文以 HTTP API 为例。这里,我们假定您已经部署好 API Gateway 并且可以正常访问,如 test API。
1、选择自定义域名,点击创建,填入域名,创建区域性域名以及选择刚才创建的 ACM 证书,然后点击创建域名。
2、创建完成后,点击 API 映射,点击 配置 API 映射,点击添加新映射,API 选择之前部署的 API Gateway,选择阶段、路径,然后点击保存。
3、映射配置完成后,点击配置,观察域名详细信息,记录下 API Gateway 域名
4、打开 Route53,在域名的托管区内,点击编辑,添加 DNS 记录,将自定义域名解析到刚才记录的 API Gateway 域名。
至此,您就可以在域名解析生效后,使用自定义域名访问 API Gateway 了。
小结
本教程介绍了 ACM 证书的申请方法,并展示了将证书绑定到 Amazon Application Load Balancer(ALB), Amazon API Gateway 的方法。借助 ACM 公有证书,您可以免于手动维护证书的更新等操作,有效降低运维复杂度,并提高网站的安全性。