此答案主要针对在其他站点(如 GoDaddy)购买域并希望将亚马逊免费证书与证书管理器一起使用的人
此答案使用 Amazon Classic Load Balancer(付费)see the pricing before using it
第 1 步 - 向证书管理器申请证书
转到证书管理器 > 申请证书 > 申请公共证书
在域名上,您将添加 myprojectdomainname.com 和 *.myprojectdomainname.com 并继续下一步
选择电子邮件验证并确认和请求
打开您收到的电子邮件(在您购买域名的电子邮件帐户上)并批准请求
之后,检查myprojectdomainname.com和*.myprojectdomainname.com的验证状态是否成功,如果成功则可以继续步骤2
第 2 步 - 为负载均衡器创建安全组
在 EC2 上转到安全组 > 并创建一个安全组并添加 http 和 https 入站
它会是这样的:
第 3 步 - 创建负载均衡器
EC2 > 负载均衡器 > 创建负载均衡器 > 经典负载均衡器(第三个选项)
在里面创建 LB - 你项目的 vpc
在负载均衡器协议上添加 Http 和 Https
下一步 > 选择退出的安全组
选择您在上一步中创建的安全组
下一步 > 从 ACM 中选择证书
选择第1步的证书
下一步 >
在健康检查中我使用了 ping 路径 /(一个斜线而不是 /index.html)
第 4 步 - 将您的实例与负载均衡器的安全组关联
EC2 > 实例 > 单击您的项目 > 操作 > 网络 > 更改安全组
添加负载均衡器的安全组
第 5 步
EC2 > 负载均衡器 > 点击您创建的负载均衡器 > 复制 DNS 名称(A 记录),它将类似于 myproject-2021611191.us-east-1.elb.amazonaws.com
转到 Route 53 > Routes Zones > 单击域名 > 转到记录集
(如果您在此处没有您的域,请使用 Domain Name: myprojectdomainname.com 和 Type: Public Hosted Zone 创建一个托管区域)
检查您是否有记录类型 A(可能没有),创建/编辑名称为空的记录集,类型 A,别名是,然后定位您复制的 dns
还创建一个类型为 A 的新记录集,名称为 *.myprojectdomainname.com,别名是,并以您的域为目标 (myprojectdomainname.com)。这将使您可以使用 www.myprojectdomainname.com 和 subsite.myprojectdomainname.com 访问您的站点。注意:您需要配置反向代理 (Nginx/Apache) 才能这样做。
在 NS 上复制 4 个名称服务器值以在下一步中使用,它将类似于:
ns-362.awsdns-45.com
ns-1558.awsdns-02.co.uk
ns-737.awsdns-28.net
ns-1522.awsdns-62.org
转到 EC2 > Instances > 并复制 IPv4 公共 IP
第 6 步
在您购买域名的域名注册网站上(在我的例子中是 GoDaddy)
将路由更改为http : <Your IPv4 Public IP Number> 并选择 Forward with masking
将名称服务器 (NS) 更改为您复制的 4 个 NS,这可能需要 48 小时才能生效