我对证书和 AWS 本身的安装非常陌生。现在,在我当前的基础设施中,我有 3 个位于 VPC 中的 ELB。
我已经通过 Big Rock 从 COMODO 购买了通配符 SSL 证书。
我希望我的 ELB 与外部世界之间的所有通信都应通过 HTTPS 进行。
- 我怎样才能实现这个目标?
- 我可以在所有三个 ELB 上安装一个通配符证书吗?
- 有没有更好的方法呢?
- 此外,由于我拥有的是通配符证书,因此我无法将其用于 api.example.com,但也不能用于 example.com 本身(根据我的理解)。但是,目前外部世界可见的是 example.com(而不是真正的 api.example.com)。那么,我是否需要为上述场景购买另一个证书?
- 哪种类型的证书(我读过UCC SSL 证书在这里)我应该选择哪个,因为我也有一个 example.in 域名,并且托管着同一个网站。
请原谅我对此事的无知。
答案1
我希望我的 ELB 与外部世界之间的所有通信都应通过 HTTPS 进行。我该如何实现这一点?
完全禁用纯 HTTP 通常不是一种选择,但可以配置你的网络服务器以(永久)将任何未加密的请求从重定向http://...
到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 经销商会自动执行此操作。因此,您可能根本不需要另一个(替换)证书。
你可以检查一下,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 实例上正常工作所必需的。
ELB 使用 SNI 支持多个 TLS 证书 -
ALB 使用 SNI 支持多个 TLS 证书
NLB 现在使用 SNI 支持多个 TLS 证书
答案2
如果通配符 SSL 证书颁发给 *.example.com,那么您可以使用单个通配符 SSL 证书保护 example.com、api.example.com 和任何其他子域。Comodo Wildcard SSL 提供无限的服务器许可证,您应该在所有 3 个 ELB 上安装证书,以在子域上设置安全环境。
如果您想要保护引用不同 TLD 的不同域名,例如 example.com、example.in 和 example.anytld,那么您应该使用 UCC SSL 证书。您可以在证书有效期内随时添加或编辑主题备用名称 (SAN)。
如果你的要求是保护多个网站及其所有子域,那么你可以选择Comodo 多域名通配符 SSL。