使用冗余连接设置SSL

我的情况:

  • 我们有两台服务器, Server AServer B
  • Server Aconfiguration了一个代理服务器,它从Server B提供数据(通过SSL)。
  • Server B可以通过1.1.1.1one.server.example.com )和2.2.2.2two.server.example.com )访问。 Server A决定应该使用哪个连接来连接(故障转移)。
  • Server B上的Apacheconfiguration了虚拟主机server.example.com并具有两个别名, one.server.example.comtwo.server.example.com

我想知道是否必须购买两个SSL证书(因为我们连接到one.server.example.comtwo.server.example.com ),或者如果一个足够了,因为one.server.example.comtwo.server.example.com只是server.example.com别名。

另外,如果这不是“build议”的方式来设置这样的事情,请让我知道。 从来没有这样做过..

有几种方法可以解决这个问题:

  1. 获取通配符证书:这允许任何数量的主要子域名,但是,这可能会稍微昂贵。

  2. 证书上的ALT名称:证书上的替代名称通常是更便宜的选项,允许您指定允许用于证书的允许的域/子域

  3. 如果这只是服务器B上的后端服务(非公共服务),那么您可以成为您自己的证书颁发机构,并在服务器A上设置适当的authentication信任。这非常免费,但需要多一点工作?

看来你以错误的方式实现故障转移。 在这里,您只需在同一台服务器上使用两个IP,并指定两个域名即可。 如果server B发生故障,冗余是在哪里?

看看路由器桥接和VRRP实现,如keepalived 。

之后,如果要在场景后面使用VRRP在同一个IP上承载多个域名,则决定来自客户端的连接支持:它是否支持TLS SNI扩展,是否支持X509扩展SubjAltName或不支持。 最通用的解决scheme是当然使用通配符证书。