EC2:多个域的HTTPS负载平衡

时间:2015-07-29 13:59:13

标签: ssl amazon-web-services nginx amazon-ec2 amazon-elb

我想为我的ELB启用https监听器。我的所有实例都是通过自动缩放一个主实例来启动的。

通常,如果我们不在ELB下,nginx服务器块将侦听80而没有ssl_certificate条目,或者使用ssl_certificates监听端口443 ssl。

通过AWS文档,它没有回答我以下问题:

1)默认情况下,当选择HTTPS作为负载均衡器协议时,实例协议将为HTTP。这是为什么?我们不需要保护ELB和实例之间的连接吗?

2)我已经拥有多个证书。单个子域的通配符和自签名证书。如何将它们移动到AWS允许我编辑的三个块(私钥,公钥证书和证书链)。

3)接下来,如果实例协议是HTTP,我是否会删除服务器块中的SSL配置?它应该听80端口吗?

2 个答案:

答案 0 :(得分:1)

单个Elastic Load Balancer将流量路由到一组实例,它不是为多个域(无虚拟主机)路由流量而设计的。

实施例

            /---- :80 Instance A
ELB:80 :443 ----- :80 Instance B
            \---- :80 Instance C

常见的设置是面向互联网的ELB,它接受HTTP:80和HTTPS:443连接。在HTTPS:443的情况下,它可以处理SSL终止,这意味着它将接受HTTPS,处理SSL并将流量路由到HTTP上的实例:80。

由于实例位于私有子网中,并且ELB和实例在您的VPC中进行通信,因此不需要SSL。

对于SSL终止,您需要为每个ELB提供SSL证书链(三个块)。

答案 1 :(得分:0)

您可以将多个证书连接在一起

cat 1.crt 2.crt > 3.crt

是的,应该删除所有nginx 443 ssl配置,并强制使用HTTPS,你应该添加X-Forwarded-Proto标题。