我们有一个运行两个站点的Web服务器,我将称它们为domain.com和test.domain.com。 我们在domain.com网站上安装了SSL证书,涵盖了www.domain.com和domain.com。 testing网站没有SSL证书。
当浏览到http:// test.domain.com时,我们可以成功地到达testing站点。 但是,导航到https:// test.domain.com时,所有stream量都会redirect到https:// domain.com,或多或less地不知道用户。 这可能会让某些人误以为他在testing现场工作,而事实上在生产过程中发生了变化。
服务器正在运行IIS 6.testing站点没有configurationSSL端口。 唯一的主机标头分别是两个站点的domain.com和test.domain.com。
如何确保https:// test.domain.com不会redirect到https:// domain.com?
即使使用不可信/非SAN /非通配符证书,也可以使用SSL主机头。
ssl站点不能使用主机标头进行分配,因为标头是encryption的。 一个ssl站点响应它所在的ip +端口。 所以它是响应,因为他们在共享的IP,而不是因为它被redirect。
您需要在单独的ips网站上运行网站,或者在看到某人使用了错误的url时,将其redirect到https的网站逻辑添加一些内容。
这两个网站是否使用相同的IP? 如果没有,只要你告诉浏览器使用HTTPS,服务器不能告诉你是否想要test.domain.com或domain.com。 这是因为,正如詹姆斯所说,主机头被encryption。 因此,无论哪个站点的SSL证书分配将是一个回应。 所以最好的尝试是编辑元数据库,并显式添加一个主机头到domain.com的port 443绑定。 基本上这个: http : //www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/8d9f2a8f-cd23-448c-b2c7-f4e87b9e2d2c.mspx? mfr= true
然后,当你到https://test.domain.com有一个有效的网站,IIS将不会作出响应,除非你最终添加一个SSL证书到test.domain.com网站。