这是在同一个IP上拥有多个SSL证书的解决scheme吗?

我正在运行在VPS上运行的CentOS。 我阅读了一些关于在同一个系统上拥有多个SSL证书的指南,但是我无法得到基本的工作。

我得到的指导对我最有意义的是做以下事情。 在CentOS中,我可以制作虚拟NIC。 所以我做了2个虚拟网卡。 192.168.10.1,192.168.10.2。

现在我在ISP经理Pro工作,所以这是监听我的主要ip 1.1.1.1

对于每个网站,我让他们在192.168.10.1:80,192.168.10.1:443上收听

在hosts文件中我做了以下2个条目

192.168.10.1 1st.com 192.168.10.2 2nd.com

现在奇怪的是,当我浏览到1st.com,我没有得到位于192.168.10.1的网站,我得到的网站位于我的原IP 1.1.1.1

我应该做这样的设置转发路由工作?

基本问题:这个设置是否可以工作? 是基于IP地址的SSL证书,还是基于主机名1st.com和2nd.com的SSL证书。

资源: 在具有IP别名的单个网卡上承载多个SSL站点

通常,每个IP地址一次只能有一个证书,因为服务器在初始握手期间(在看到HTTP主机头之前)提交证书。 但是,服务器名称指示(SNI)通过让客户端在TLS握手期间发送服务器的主机来改变这一点。

我不认为你是在正确的轨道上。 假设你想让你的两个站点公开访问,在某些时候你必须指定(通过DNS),1st.com和2nd.com都是xxxx(公共IP)。 那么,你需要使用SNI来区分它们。 不需要虚拟NIC或本地IP。

你想做什么是可能的 – 这就是我如何在一台服务器上运行30个启用了SSL的站点。

如果你不想使用SNI(大多数Win XP浏览器不支持AFAIK),你需要两个公有IP地址 – 1.1.1.2和1.1.1.3。 然后根据您的托pipe服务提供商的支持,您可以执行以下任一操作:

  1. configuration2个虚拟网卡上的公共IP地址 – 例如,eth0:1是1.1.1.2,eth0:2是1.1.1.3。 然后适当地configurationWeb服务器,并确保1st.com和2nd.com的DNS条目指向这些公共IP地址。
  2. 保留虚拟NIC上的私有地址,并在1.1.1.2和192.168.10.2之间以及1.1.1.3和192.168.10.3之间build立networking地址转换,并确保1st.com和2nd.com的DNS条目到那些公共IP地址。

当你说你已经将这些条目添加到“主机文件”中时,服务器上的主机文件还是您正在浏览的桌面PC上的主机文件? 与1st.com和2nd.com相关的DNS条目是什么? 如果它们都指向DNS中的1.1.1.1 IP地址,那么当您浏览到https://1st.com时,这可能会解释为什么最终在ISPpipe理器站点。 我还要检查ISPpipe理器configuration的监听IP地址 – 它可能只是抓住服务器上所有可用IP地址上的端口80和443。

没有SNI,每个公共IP地址只能有一个证书。 在完全支持SNI之前,最好的select是使用包含所有需要保护的主机名的统一通信证书。