VPC中多个ELB上的通配符SSL证书

我对安装证书和AWS本身非常陌生。 现在,在我目前的基础架构中,我有3个ELB在VPC中。

我已经通过Big Rock从COMODO购买了通配符SSL证书。

我想要的是我的ELB和外部世界之间的所有交stream都应该通过HTTPS。

  1. 我怎样才能做到这一点?
  2. 我可以在所有三个ELB上安装一张通配符证书吗?
  3. 有没有更好的方法呢?
  4. 另外,因为它是我的通配符证书,所以我不能将它用于api.example.com,但不能用于example.com本身(根据我的理解)。 然而,外部世界可见的是现在的example.com(而不是真正的api.example.com)所以,我需要为上述情况购买另一个证书吗?
  5. 哪种types的证书(我在这里读到关于UCC SSL Certs的 )应该去,因为我也有example.in作为一个域以及同一个站点托pipe。

请原谅我对此事的无知。

我想要的是我的ELB和外部世界之间的所有沟通都应该通过HTTPS。 我怎样才能做到这一点?

完全禁用普通的HTTP通常是不可选的,但可以configuration您的Web服务器(永久)将任何未encryption的请求从http://...redirect到https://...

我可以在所有三个ELB上安装一张通配符证书吗?

没有技术上的原因,为什么你不能。

另外,因为它是我的通配符证书,所以我不能将它用于api.example.com但不能用于example.com本身(根据我的理解)。
然而,外部世界可见的是现在的example.com (而不是真正的api.example.com )所以,我需要为上述情况购买另一个证书吗?

是。 *.example.com的通配符仅对<valid_hostnames>.example.com有效,而plain / naked example.com*.*.example.com都不起作用。 有关详细信息,请参阅此问答 。

从技术上讲,还可以通过主题备用名称扩展名将通配符证书包括在纯域中,使证书对*.example.com example.com有效,但是SSL经销商自动执行的操作我不知道。 所以你可能根本不需要另外的(replace)证书。

你可以使用openssl x509 -in certificate.crt -text -noout来检查,这会产生类似于SubjectAltNames出现的东西:

 Certificate: Data: Version: 3 (0x2) Serial Number: .... Subject: ..., CN=*.example.com ... X509v3 extensions: ... X509v3 Subject Alternative Name: DNS:*.example.com, DNS:example.com 

如果不是这种情况,除了当前的通配符外,您可能还需要另一个证书才能使用裸露的域。 服务器名称指示 (SNI)是使用两个不同的SSL证书并使它们在单个ELB实例上正常工作所需的。

不幸的是,正如Elastic Load Balancing产品文档中所述,与HTTPS相关:

Elastic Load Balancing不支持负载均衡器上的服务器名称指示 (SNI)。

所以一个ELB上的两张证书是不合格的。

哪种types的证书(我在这里读到关于UCC SSL Certs的)应该去,因为我也有example.in作为一个域以及同一个站点托pipe。

ELB产品文件提供了两种策略:

  • 为每个附加域(有时称为统一通信证书(UCC),而不是SAN证书)购买一个具有主题备用名称(SAN)的单个多域证书,并在ELB上使用该证书。

  • 在端口443上使用TCP侦听器来进行前端和后端连接。 负载均衡器将请求传递给您,并使用支持SNI的Web服务器处理来自EC2实例的HTTPS终止。

如果向* .example.com颁发通配符SSL证书,则可以使用单个通配符SSL证书来保护example.com,api.example.com和任何其他子域。 Comodo Wildcard SSL提供无限制的服务器许可证,您应该在所有3个ELB上安装证书,以在您的子域上设置安全的环境。

如果您希望使用不同的域名(如example.com,example.in和example.anytld)来引用不同的域名,则应使用UCC SSL证书。 您可以在证书使用期限内随时添加或编辑使用者替代名称(SAN)。

如果您的要求是保护多个网站及其所有子域,那么您可以使用Comodo多域通配符SSL 。