我可以使用单个AWS ELB为2个不同的域托管2个SSL证书吗?

夏期劇*_*期劇場 13 dns ssl certificate amazon-elb

在AWS上,我在EC2上托管多个(完全不同的)域名,由ELB覆盖.我已经为1个域及其子域提供了1个通配符SSL证书.(xxxx.site1.com)

那么现在我可以为另一个不同的域添加一个单一SSL证书(在同一个ELB上),比如(www.site2.com)吗?

我问这个是因为有些文章说,它不会起作用而只是粉碎.

请提出建议.

Ric*_*ico 13

不可以.唯一可行的方法是使用第二个端口进行HTTPS连接(443除外),这不适用于真实场景,因为443是HTTPS的默认端口

话虽如此,您可以简单地创建第二个ELB并为其分配第二个通配符证书.您还可以将流量转发到与第一个ELB将其流量转发到的后端服务器相同的后端服务器.

希望这可以帮助.

  • 您还可以获得SAN(主题备用名称)证书(也称为UCC证书),该证书允许您使用单个SSL证书来使用安全的多个域.它可能不适合您,因为您需要通配符证书,但它可能会帮助其他不需要通配符的人.在此处阅读有关SAN Certs的更多信息:https://www.digicert.com/subject-alternative-name.htm (2认同)

Gar*_*err 8

是.但不是通过在负载均衡器上终止SSL.您必须在ELB上启用代理协议,并透明地将TCP请求转发到Web服务器.本文中有更多关于如何使用示例NGINX配置配置ELB的详细信息:

AWS ELB上使用Nginx的多个SSL域

使用AWS CLI启用:

aws elb create-load-balancer-policy \  
  --load-balancer-name acme-balancer \
  --policy-name EnableProxyProtocol \
  --policy-type-name ProxyProtocolPolicyType \
  --policy-attributes AttributeName=ProxyProtocol,AttributeValue=True

aws elb set-load-balancer-policies-for-backend-server \  
  --load-balancer-name acme-balancer \
  --instance-port 9443 \
  --policy-names EnableProxyProtocol

aws elb describe-load-balancers --load-balancer-name acme-balancer
Run Code Online (Sandbox Code Playgroud)

还有一个mod_proxy_protocol可用的模块,如果你使用的是Apache.

这并增加额外的分配层; ELB仍然处理流量分配,连接耗尽.但是,SSL终止由每个单独的服务器处理.


小智 8

自2017年10月10日起,可以使用Application Load Balancer执行此操作.您可以将多个证书绑定到负载均衡器上的同一个安全侦听器,ALB将自动为每个客户端选择最佳TLS证书.有关详细信息,请参阅:https://aws.amazon.com/blogs/aws/new-application-load-balancer-sni/