为什么这个主机头去其他网站?

我有两个网站:Prod和Train

在我的主机文件中,我有两个条目:

xxx.xx.xxx.xxx prod.site.com xxx.xx.xxx.xxx train.site.com 

我有两个独立的网站在IIS7,Prod和Train中build立。

Prod站点具有以下绑定:

 http Prod 80 * https 443 * 

火车站点有:

 http Train 80 * 

http://适用于火车,但不适用prod(启用了SSL标志)和https://适用于两者,不同之处在于https://train.site.com正在加载生产网站而不是培训网站。

这可能是一个愚蠢的问题,但我如何更改绑定,以便https://train.site.com不起作用或至lessredirect到http://? 如果有人不小心键入https://我不希望他们开始搞乱生产网站,认为他们正在接受培训。

我有一个模糊的想法,为什么这样做,但不知道如何解决它,而不打破生产。

您的prod站点将接受所有IP地址上的所有https连接,并为其提供服务,而不考虑客户端提供的主机标头。

要将绑定更改为只接受具有正确主机头的连接,您需要分解IIS命令行工具。 删除接受所有请求的现有的https绑定,然后在(UAC升级的)命令提示符下运行这样的事情,用我对IIS站点名称的假设取代正确的信息:

 cd \windows\system32\inetsrv appcmd set site /site.name:"prod" /+bindings.[protocol='https',bindingInformation='*:443:prod.site.com']