多个SSL证书1个IP端口redirect

所以我一直在试图找出如何设置多个SSL站点只使用1个IP。 我看到的问题是当你有多个使用SSL的虚拟主机时,第一个具有SSL的站点是用于其余站点的虚拟主机。

我想知道如果我能够设置所有虚拟主机使用不同的端口(444,445)的ssl连接,然后redirect每个站点从443到我已经定义为使用SSL的任何端口。

即。

domain1.com:443redirect到domain1:444

domain2.com:443redirect到domain2:445

这将允许Apache正确使用每个域的SSL证书? 或者,我只是老生常谈。

即使没有SNI,也可以在给定的IP地址上拥有多个SSL证书。 只要您的Web服务器在不同的端口(例如444,445等)上监听每个不同的域,每个域都可以拥有自己的SSL证书,同时从相同的IP地址提供服务。 (在发生encryption握手之前,证书是通过IP地址和端口号的组合唯一select的。)

以下是美中不足之处:如果首次连接到默认的HTTPS端口(443),则浏览器将在redirect(到端口444或445或…)之前发生服务器证书错误。 这将吓跑大多数正在尝试访问您的网站的人。

一个办法就是告诉你的用户通过普通的HTTP(例如80端口)浏览你的站点,就像你可能会这样做的。 那么你只需从那里做你的重写/redirect,即

domain1.com:80 -> domain1.com:444 domain2.com:80 -> domain2.com:445 ... 

每个IP地址只能使用一个证书。 所以你需要在一个证书上包含所有可能的域名(或者通配符)的证书。

除非您要告诉您的客户使用它,否则您不能使用替代端口; 而且一般来说一点都不好。