用户在AWS上申请证书并将其绑定到ELB(这里主要指Application  Load  Balancer或Classic  Load  Balancer),是为您的应用启用HTTPS加密的标准流程。整个过程主要分为SSL证书申请和证书绑定两大步骤。

第一步:申请公有SSL/TLS证书

您需要通过AWS  Certificate  Manager控制台来请求一个新的证书。

1.    进入ACM控制台并请求证书:登录AWS控制台,打开AWS  Certificate  Manager服务。在证书列表页面,点击右上角的“请求”按钮,然后选择“请求公有证书”。

2.    添加域名:在“域名”部分,输入您希望此证书保护的完整域名。例如,如果您要保护`example.com`及其所有子域,您需要分别添加`example.com`和`*.example.com`(通配符域名)。您也可以在此处添加更多需要保护的域名,作为“主题备用名称”。

3.    选择验证方法:AWS需要验证您对所提供的域名拥有所有权。推荐使用  “DNS验证”  ,因为它允许ACM自动续期证书,更加省心。您也可以选择“电子邮件验证”。

4.    完成请求并验证:完成上述信息填写后,点击“请求”。证书请求创建成功后,会进入“待验证”状态。此时,您需要根据选择的验证方式完成域名所有权验证。

        如果选择DNS验证:展开证书详情,点击“在Route  53中创建记录”按钮(如果您在Route  53中管理该域名的DNS),AWS会自动添加所需的CNAME记录。如果不是,您需要手动在您的DNS服务商处添加这条CNAME记录。

        如果选择电子邮件验证:系统会向域名管理员邮箱(如admin@example.com)发送验证邮件,您需要点击邮件中的链接来完成验证。

域名验证通过后,证书状态将变为“已颁发”,这时就可以使用了。

第二步:将证书绑定到ELB

证书颁发后,需要将其关联到您的负载均衡器上。关键前提是:您的负载均衡器与ACM证书必须在同一个AWS区域,并且建议您已经创建好了负载均衡器。

操作路径(以控制台为例)

1.    找到负载均衡器:进入EC2控制面板,在左侧导航栏点击“负载均衡器”,然后选中您要绑定证书的负载均衡器。

2.    添加或修改监听器:在负载均衡器的详情页,打开“监听器”选项卡。

        情况A:如果您还没有HTTPS监听器,点击“添加监听器”。在“协议:端口”处选择  HTTPS和  443端口。

        情况B:如果您已有HTTPS监听器,选中它,然后点击“监听器”选项卡中的“管理监听器”->“编辑”按钮。

3.    选择并绑定证书:在HTTPS监听器的配置中,找到“默认SSL/TLS证书”部分。点击“从ACM中选择”,然后在下拉列表中选中您刚才申请并已颁发成功的证书。您还可以在此处配置“安全策略”来选择支持的TLS协议版本(建议使用TLS  1.2或更高版本)。

4.    保存配置:完成选择后,点击“添加”(如果是新建监听器)或“更新”(如果是编辑监听器)保存更改。

5.    验证绑定:操作完成后,您可以在监听器列表中看到HTTPS  443监听器已经关联了您的证书ARN。现在,您可以通过`https://您的域名`来访问服务了。

重要注意事项

区域限制:这是一个最常见的错误点。您在任何区域申请的ACM证书,只能用于和该证书在同一区域的负载均衡器。例如,如果您在`us-east-1(弗吉尼亚北部)`申请的证书,是无法绑定到`cn-north-1(北京)`区域的负载均衡器上的。

自动续期:ACM为通过DNS验证颁发的证书提供了托管续期功能。只要您在证书过期前60天将其关联到AWS服务(如ELB),ACM通常会**自动处理证书的续期**,无需您手动干预。

补充:如果习惯使用AWS  CLI

如果您更习惯使用命令行,可以通过AWS  CLI来完成证书更换。例如,将一个新的ACM证书绑定到名为`my-load-balancer`的传统CLB上,监听443端口:

bash

aws  elb  set-load-balancer-listener-ssl-certificate  \

        --load-balancer-name  my-load-balancer  \

        --load-balancer-port  443  \

        --ssl-certificate-id  arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012