如何将相同的 SSL 证书用于我的 Amazon EC2 实例和负载均衡器?

上次更新时间:2020 年 4 月 15 日

我想要在我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例与负载均衡器之间启用 SSL 连接。

简短描述

Amazon 发布的证书无法安装在 EC2 实例上。要启用端对端加密,您必须使用第三方 SSL 证书。

解决方法

在 EC2 实例上安装第三方证书。然后,通过将第三方证书导入 AWS Certificate Manager (ACM) 将它与负载均衡器关联。

Apache Web 服务器

1.    请按照说明使用 SSH 连接到 Linux 实例

2.    安装 Apache 服务器 mod_ssl 模块:

$ sudo yum install mod_ssl -y

3.    在 /etc 目录中,创建一个名为 certs 的目录。然后,将第三方证书文件复制到该目录中。第三方证书文件的路径如下所示:

SSL 证书 - /etc/certs/your_domain.crt 私有密钥文件 - /etc/certs/private-key.key 证书链 - /etc/certs/chain.crt

注意:此示例使用 /etc 目录。使用您选择的目录。

4.    将根拥有者权限分配给第三方证书文件:

$ sudo chmod 600 /etc/certs/your_domain.crt

$ sudo chmod 600 /etc/certs/private-key.key

$ sudo chmod 600 /etc/certs/chain.crt

$ sudo chown root.root /etc/certs/your_domain.crt

$ sudo chown root.root /etc/certs/private-key.key

$ sudo chown root.root /etc/certs/chain.crt

5.    使用您常用的文本编辑器将第三方证书文件添加到 /etc/httpd/conf.d/ssl.conf 文件中。第三方证书文件的路径如下所示:

SSL 证书 - /etc/certs/your_domain.crt 私有密钥文件 - /etc/certs/private-key.key 证书链 - /etc/certs/chain.crt

6.    保存 .conf 文件,然后使用此命令重启 http 服务:

$ sudo service httpd restart

第三方证书已成功安装在 Amazon EC2 实例上运行的 Apache Web 服务器上。

IIS Web 服务器 (Windows Server 2012-R2)

1.    请按照说明使用远程桌面协议 (RDP) 连接到您的 Windows 实例

2.    选择开始,输入 mmc,然后选择确定

3.    依次选择文件添加/删除嵌入单元证书计算机账户下一步本地计算机完成,然后选择确定

4.    在 MMC 控制台中,展开证书,依次选择可信根证书颁发机构证书操作所有任务导入下一步,然后选择浏览

5.    选择证书、打开下一步,然后选择完成

6.    在 MMC 控制台中,展开中级证书颁发机构,然后为中级证书重复步骤 4-5。

7.    关闭 MMC 控制台窗口,然后选择以丢弃控制台设置。

8.    打开服务器管理器,选择工具,然后选择 Internet Information Services (IIS) 管理器

9.    在连接中,选择您希望将证书安装到的 Windows 服务器名称。

10.    打开服务器证书

11.    在操作中,依次选择导入证书,然后选择打开

12.    在密码中,输入证书密码,然后选择确定

13.    在连接中,展开站点,然后选择您希望将证书安装到的网站名称。

14.    在操作中,选择绑定,然后选择添加

15.    在类型下拉菜单中,选择 https

16.    对于 IP 地址,请输入网站 IP 地址,或将其保留为全部未分配

17.    在 SSL 证书中,选择选择、然后选择证书和确定

18.    在管理网站中,选择重启

在您重启 IIS Web 服务器后,第三方证书将成功安装在 Amazon EC2 实例上。

当您将证书安装到 Amazon EC2 实例后,请按照说明将证书导入到 AWS Certificate Manager 中。然后,请按照说明将 ACM SSL/TLS 证书关联到 Classic、Application 或 Network Load Balancer