我的情况:
Server A
和Server B
Server A
configuration了一个代理服务器,它从Server B
提供数据(通过SSL)。 Server B
可以通过1.1.1.1
( one.server.example.com
)和2.2.2.2
( two.server.example.com
)访问。 Server A
决定应该使用哪个连接来连接(故障转移)。 Server B
上的Apacheconfiguration了虚拟主机server.example.com
并具有两个别名, one.server.example.com
和two.server.example.com
。 我想知道是否必须购买两个SSL证书(因为我们连接到one.server.example.com
和two.server.example.com
),或者如果一个足够了,因为one.server.example.com
和two.server.example.com
只是server.example.com
别名。
另外,如果这不是“build议”的方式来设置这样的事情,请让我知道。 从来没有这样做过..
有几种方法可以解决这个问题:
获取通配符证书:这允许任何数量的主要子域名,但是,这可能会稍微昂贵。
证书上的ALT名称:证书上的替代名称通常是更便宜的选项,允许您指定允许用于证书的允许的域/子域
如果这只是服务器B上的后端服务(非公共服务),那么您可以成为您自己的证书颁发机构,并在服务器A上设置适当的authentication信任。这非常免费,但需要多一点工作?
看来你以错误的方式实现故障转移。 在这里,您只需在同一台服务器上使用两个IP,并指定两个域名即可。 如果server B
发生故障,冗余是在哪里?
看看路由器桥接和VRRP实现,如keepalived 。
之后,如果要在场景后面使用VRRP在同一个IP上承载多个域名,则决定来自客户端的连接支持:它是否支持TLS SNI扩展,是否支持X509扩展SubjAltName
或不支持。 最通用的解决scheme是当然使用通配符证书。