Nginx:可以使用来自不同机构的SSL证书在一个IP地址上?

我想知道是否有可能有两个Nginx虚拟主机坐在同一个v4 IP地址上。 我知道存在SNI,但是我有两个不同的证书颁发机构的基本(无SAN,没有通配符)SSL证书,可以在一个IP地址上共同生活。

基本上,设置两个指向自己的KEY和CRT的conf文件(每个虚拟主机一个)足够了吗? 或者还有其他问题吗?

如果可以的话,我会自己尝试一下解决scheme,但是CA需要证书的钱,而且我宁愿订购第二个证书,只要我确信可以使其工作。 注意我不会购买第一个CA的第二张证书,他们的支持很糟糕,我想离开他们。

只要客户信任这些CA,来自不同CA的证书就不是问题。

在同一个IP上使用不同证书的多个站点,无论哪个CA签署了证书,在兼容性方面都有一些限制。

在一个IP上支持多个证书完全需要在服务器和客户端支持称为服务器名称指示(SNI)的TLS扩展。 这不是一个问题,如果处理现代浏览器,但可能是一个问题,如果你必须处理旧版客户端软件。

关于SNI的维基百科文章有一个不完整的不兼容软件列表,其中包括Windows XP上的Internet Explorer,Android 2.x中的默认浏览器,1.7之前的Java等。

唯一的问题是客户端兼容性,一些非常旧的浏览器/操作系统组合将无法正常工作,特别是Windows XP / IE8。 Windows XP上的其他一切(Chrome,Opera,Firefox等)都可以使用。

您不需要购买任何东西,自己签署其中一个证书(或全部)。 在服务器端签署CA并不重要,只在客户端上,如果您将CA导入到浏览器中,则它的行为与付费CA签署的行为完全相同。