有人可以向我解释如何解决这个问题。
我在同一台IIS7服务器上托管了两个站点。
网站2具有SSL设置,可在https://www.site2.co.uk
找到网站1没有ssl设置,并在http://www.site1.co.uk
上绑定现在,如果你转到https://www.site1.co.uk,它会在google上抛出此错误:
这可能不是您要找的网站! 您试图访问www.site1.co.uk,但实际上您已经到达了一个服务器,将自己标识为www.site2.co.uk
我尝试在site1的webconfig文件中使用URl重写来阻止它查看port443但没有运气:(。
还尝试编辑applicationhost.config以包含以下行,但不能正常工作
在这件事情上,任何帮助都会很棒。
答案 0 :(得分:1)
这是由于SSL的原始设计的限制,其中服务器必须提供证书而不知道客户端想要什么主机名。因此,如果您在同一IP地址上托管两个站点,则服务器必须选择一个主机名以呈现给客户端。
TLS SNI解决了这个问题,但在IIS 7中不可用(从IIS 8开始提供):
http://en.wikipedia.org/wiki/Server_Name_Indication
由于许多浏览器也不支持SNI,因此通常运行具有多个IP地址的单个Web服务器,每个站点一个IP地址。