我有两个网站:Prod 和 Train
在我的主机文件中有两个条目:
xxx.xx.xxx.xxx prod.site.com
xxx.xx.xxx.xxx train.site.com
我在 IIS7 中建立了两个独立的网站,Prod 和 Train。
Prod 站点具有以下绑定:
http Prod 80 *
https 443 *
Train 网站有:
http Train 80 *
http:// 适用于 train 但不适用于 prod(启用了需要 SSL 标志),https:// 适用于两者,除了https://train.site.com正在加载生产网站而不是训练网站。
这可能是一个愚蠢的问题,但我怎样才能改变绑定,以便https://train.site.com不起作用或至少重定向到 http://?如果有人不小心输入了 https://,我不希望他们以为自己正在接受培训,然后开始在生产站点上乱搞。
我模糊地知道它为什么会这样做,但不知道如何在不中断生产的情况下修复它。
答案1
您的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']