如何为Auto Scaling组中的每个单独的EC2实例设置HTTPS?
通常,在组前面的负载均衡器可以通过持有SSL / TLS证书来解决此问题,但是在我的体系结构中没有负载均衡器。相反,客户端查询目录服务,该目录服务为其提供实例的IP地址(实例通过Redis服务器的pub / sub功能将其存在通知目录)。因此,EC2实例本身必须携带SSL / TLS证书。由于这是一个Auto Scaling组,因此实例可以随时弹出/消失,因此无法手动分配证书。我知道AWS可以为每个实例从其池中分配一个默认的公共IP地址,以及一个通用的DNS名称,如ec2-203-0-113-25.compute-1.amazonaws.com,但它们没有附带证书。
因此,鉴于其默认DNS名称与随机域名一样好,我如何使这些实例具有证书?我在想,也许我可以以某种方式在自定义父域下进行设置,并让每个实例随意声明一个唯一的子域,从而允许他们使用覆盖父域的通配符证书,但是我不确定这是怎么回事。完成。
答案 0 :(得分:1)
您不能在EC2实例上使用Amazon ACM证书。您必须提供自己的证书。例如对* .example.com有效的通配符证书。然后,将子域分配给Route53中的实例,并将其保存在Redis数据库中。
我不建议使用自定义的机器映像,从长远来看,这将导致巨大的维护开销。
在启动时使用启动脚本或更专业的Opsworks来设置计算机,您可以利用厨师或木偶的力量来设置和运行服务。 https://aws.amazon.com/opsworks/
编辑,阐明route53的用法
在实例注册例程中 或者在配置或部署事件记录中使用opsworks时,您可以利用AWS Route53 API创建一个子域,例如实例名称。据我所知,子域的数量不受限制。
有关opsworks事件https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-events.html
的更多详细信息有关Route53 https://docs.aws.amazon.com/Route53/latest/APIReference/Welcome.html
的更多详细信息答案 1 :(得分:0)
server { listen 80; server_name www.example.org; rewrite ^ https://$server_name$request_uri? permanent; } server { listen 1443; server_name www.example.org; }