我的情况:
- 我们有两台服务器,
Server A
和Server B
。 Server A
已配置代理,它从 提供数据(通过 SSL)Server B
。Server B
1.1.1.1
可通过(one.server.example.com
) 和2.2.2.2
( )访问two.server.example.com
。Server A
决定应使用哪个连接进行连接(故障转移)。- Apache 上
Server B
配置了虚拟主机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
。
另外,如果这不是设置此类事物的“推荐”方式,请告诉我。以前从未这样做过。
答案1
有几种方法可以解决这个问题:
获取通配符证书:这允许任意数量的主子域,但这可能稍微昂贵一些。
证书上的 ALT 名称:证书上的备用名称通常是一种更便宜的选择,它允许您指定允许用于证书的域/子域
如果这是服务器 B 上的仅限后端(非面向公众)的服务,您可以成为自己的认证机构并在服务器 A 上设置适当的认证信任。这几乎是免费的,但需要更多的工作?
答案2
看来您实施故障转移的方式是错误的。在这里,您只是在同一台服务器上使用两个 IP,并将两个域名指向它。如果server B
发生故障,冗余在哪里?
了解路由器桥接和 VRRP 实现,例如保持活跃。
之后,如果您想在后台使用 VRRP 在同一个 IP 上托管多个域名,则需要根据客户端的连接支持来决定:它是否支持 TLS SNI 扩展,是否支持 X509 扩展SubjAltName
。最通用的解决方案当然是使用通配符证书。