1
嗨,
我有一个ASP.NET应用程序,目前可以通过一个单一的域名与一个SSL证书进行访问。 我们希望能够通过第二个域名访问同一个应用程序。 非SSL部分很简单,只需为IIS中的网站设置第二个主机头值即可。 我们知道我们需要第二个域的第二个SSL证书,当然第二个IP地址需要并行运行这两个证书 – 这两个都不是问题。
问题是,IIS似乎并没有让你build立一个拥有两个SSL证书的网站 – 看起来你可以将一个网站绑定到两个SSL条目,每个条目都有自己的IP,但只能使用相同的证书。
我们宁愿没有在IIS中的第二个网站条目,因为这意味着运行的ASP.NET应用程序的完整的第二个副本 – 即两倍的内存使用情况。 这两个域基本上是国家特定的变体,所以我们不能使用通用域名的子域通配符证书。
有没有办法做到这一点? IIS可以configuration为提供两个SSL证书closures一个网站条目(当然基于IP地址)? 或者是最好的方法来实现这个在IIS中设置第二个网站,将代理反向到“真实”网站?
你不应该需要第二个IP地址或第二个网站。 您只需要为您的现有网站获取新的证书,并添加了“主题备用名称”属性。 这将使您对多个完全限定的域名使用相同的SSL证书。
你不能这样做,IIS中的网站只能分配一个证书。
你唯一的select是定义两个网站。
如果您不想复制资源使用情况,则可以将这两个应用程序放在同一个应用程序池中。
这不是与IIS的问题,但与安全层:
当您连接到HTTP服务器时,浏览器会在远程服务器上打开TCP连接并使用它来请求文档。 您请求的主机名仅发送一个这个时刻。 因此远程服务器只有当他收到这个请求时才知道你想要哪个网站 (谢谢Captain Obvious!)
现在,如果您添加了SSL,则必须在发送请求之前继续进行证书交换/validation。 此时,networking服务器不知道您请求了哪个网站(URL),因此无法select证书。
您必须定义第二个网站,使用其他IP或TCP端口来执行此操作。
您可以通过在同一个SSL上添加第二个域作为替代名称来避免这种情况?
据我所知,唯一的办法就是在同一个站点的不同的端口上有不同的证书,然后让它从你的防火墙做端口转发。