我有一个 nginx 反向代理,它有多个域的多个子域。我的服务器上正在进行一些内容操作,因此需要反向代理。它们都托管在具有一个 IP 地址的一台服务器上。例如。
- 示例.com
- blog.example.com
- another-example.com
- shop.another-example.com
这些站点均托管在其他地方,并在必要时设置了 SSL。
我想知道的是,我是否可以通过 https 提供所有这些域和子域,以及我需要什么样的 SSL 证书?
据我所知,我可以为每个父域使用通配符域证书,或者为每个完全合格的域使用多域证书,但有没有更简单的解决方案?(不会花费我一大笔钱)例如:
- 一份用于验证我的一个 IP 地址的证书
- 我可以将浏览器凭据传递到目标服务器的方法
- 一种作为单一域“host.nginxproxy.com”进行身份验证的方法
如果我没有解释清楚,请原谅
答案1
每个二级域名都需要一个通配符证书,如果不需要多个子域名,则每个二级域名都需要一个标准证书。
答案2
您可以混合使用 SAN 证书和通配符证书,从而创建一个可用于所有域的证书。但是,IMNSHO,处理此问题的最佳方法实际上是为每个 2dn 级域分配一个 IP,然后对子域和不同的主机名使用 SAN 或通配符证书。
主要原因是,如果您尝试将所有证书都放在同一个 IP 上,那么在添加或删除域或主机时就会遇到麻烦,因为对已发布列表的任何更改都需要您申请新证书。这可能最终会非常昂贵,比获得一堆 IP 地址要贵得多。此外,公共 CA 通常会限制您可以在单个证书中包含的 SAN 数量。