- 最新
- 投票最多
- 评论最多
要更换 EC2 上的 SSL 证书,可以按以下步骤操作:
步骤 1:通过 AWS Certificate Manager (ACM) 获取证书
你可以通过 AWS Certificate Manager (ACM) 来管理 SSL 证书。由于你已经在负载均衡器上配置了证书,假设证书已经正确申请并部署。
获取证书:
- 登录到 AWS 管理控制台。
- 在 Certificate Manager 中申请并验证你的 SSL 证书。你可以选择通过 DNS 验证或电子邮件验证来完成验证过程。
- 申请并验证 SSL 证书后,证书会出现在 ACM 中。
步骤 2:配置负载均衡器 (ELB) 使用新的证书
既然你已经在负载均衡器上配置好了新的证书,确保 SSL 配置已经更新。
- 登录到 AWS 管理控制台。
- 打开 EC2 服务,然后选择 负载均衡器 (ELB)。
- 选择你要更新证书的负载均衡器。
- 在 Listeners 配置中,找到
HTTPS监听器。 - 点击 View/edit certificates 或 Edit。
- 在弹出的窗口中,选择 AWS Certificate Manager (ACM) 中的新证书。
- 保存更改。
步骤 3:更换 EC2 上的 SSL 证书
如果你希望直接在 EC2 实例上安装新的 SSL 证书而不是依赖负载均衡器,你需要手动更新证书。
更新 SSL 证书:
-
将 ACM 中的证书导出到你的 EC2 实例上。你可以通过 AWS CLI 或 SSM 将证书下载并安装到实例上。一般来说,你需要以下证书文件:
- 证书文件(.crt)
- 私钥文件(.key)
- 中间证书(如果有的话)
-
将证书文件上传到 EC2 实例的适当位置(例如
/etc/ssl/certs/)。 -
编辑你的 Web 服务器配置(例如 Apache 或 Nginx),以便使用新的证书。
-
Apache: 修改
/etc/httpd/conf.d/ssl.conf或你的虚拟主机配置文件,指定新的证书和私钥路径:SSLCertificateFile /etc/ssl/certs/your-certificate.crt SSLCertificateKeyFile /etc/ssl/private/your-private.key SSLCertificateChainFile /etc/ssl/certs/your-chainfile.pem -
Nginx: 修改
/etc/nginx/sites-available/default或你配置的虚拟主机配置,指定新的证书和私钥路径:ssl_certificate /etc/ssl/certs/your-certificate.crt; ssl_certificate_key /etc/ssl/private/your-private.key; ssl_trusted_certificate /etc/ssl/certs/your-chainfile.pem;
-
-
重新加载 Web 服务器配置以使更改生效。
-
Apache:
sudo systemctl reload httpd -
Nginx:
sudo systemctl reload nginx
-
步骤 4:验证 SSL 配置
你可以使用 curl 或浏览器来验证 SSL 配置是否生效:
curl -I https://yourdomain.com
如果配置正确,你应该看到返回的头信息中包含 HTTP/2 或 HTTP/1.1,并且证书信息应该是新的证书。
总结
- 如果你只使用 负载均衡器,只需要在 ELB 中更新 SSL 证书。
- 如果你直接在 EC2 实例 上配置 SSL 证书,你需要将新的证书文件上传到实例,并更新 Web 服务器配置。
- 之后,记得验证新证书是否已经生效。
在 AWS 环境下,如果你已经在 负载均衡 上配置好了新的 SSL 证书(通过 AWS Certificate Manager (ACM) 申请并绑定),那么理论上大部分 HTTPS 流量已经可以通过负载均衡器使用新证书进行 SSL 终止(offloading)。 此时,原先在 EC2 上配置的 Certbot 证书可视情况进行移除或保留,具体要做什么,取决于你的架构和需求。
- 你已经在 负载均衡器 上配置好了从 ACM 获得的新证书,那么只要客户端访问走 ALB 并指向该 HTTPS Listener,就会使用新证书。
- EC2 上的 Certbot 除非你还有其他用途,否则可以停止续订、停用或卸载其配置。
- 如果对外端口 443 只需要 ALB 提供 HTTPS,那么 EC2 本身可以只监听 80 端口,即可满足应用正常接收后端流量。
- 最后进行一次测试和确认访问是否正常即可。
