具有多个域的AWS ELB ssl

时间:2017-01-20 18:43:40

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

我正在使用Amazon ELB并使用https设置证书,但我需要支持许多域(数千个)。有没有办法让ELB转发端口443到解析EC2实例并让它们处理https?还是会有另一种方式来支持这个?从我所看到的情况来看,你看起来只有一个听众可以通过一个证书来关联443。

2 个答案:

答案 0 :(得分:1)

您的问题的简短答案是否定的,ELB只能有1个相关证书。假设您没有通配符证书可以工作的情况(例如* .example.com),您将无法使用GUI使其看起来像应该工作的方式。这是因为ELB不支持SNI,这使得apache能够将多个SSL域绑定到单个主机。

那说,有一个解决方法。您可以通过ELB将443直接转发到指定的服务器。这是通过在TCP直通模式而不是在HTTPS模式下设置端口443来完成的。要做到这一点:

  1. 转到AWS控制台并选择要编辑的ELB。
  2. 选择“听众”标签。
  3. 选择“编辑”
  4. 将“Load Balancer and Instance Protocols”更改为“TCP”(参见屏幕截图)
  5. 将负载均衡器和实例端口设置为443
  6. 或者,如果您还没有HTTPS侦听器,请在步骤3中选择“添加”。

    AWS ELB Listener Dialog

    注意,以这种方式进行设置会强制您的EC2实例加密/解密流量,这将是EC2 CPU上的额外负载。

答案 1 :(得分:0)

现在可以执行此操作。

您需要AWS ACM证书。假设您已经有一个: 选择您的负载均衡器,然后在“侦听器”下,检查https侦听器,然后在“查看/编辑证书”上打开证书选择器。

enter image description here

然后在选择菜单中,使用'+'或'-'按钮从所述平衡器添加或删除ACM证书:

enter image description here