我在 Windows 2003 IIS 6 机器上建立了几个站点。许多站点都是使用主机名标头配置的。一些站点有自己的 IP 地址,并安装了 SSL 证书。我发现,当我访问其中一个非 SSL 主机名标头站点并尝试输入 https 时,它会提供一个 SSL 站点。
例如:
site1.com - 无 SSL。绑定为:IP:全部未分配 TCP 端口:80 主机标头值:site1.com
IP:全部未分配 TCP 端口:80 主机标头值:www.site1.com
sitez.com - SSL。绑定为:IP:192.168.100.73 TCP 端口:80 主机标头值:空(此网站在“网站”选项卡上也有 SSL 端口 443)
即将http://www.site1.com很好,但是要https://www.site1.com托管 sitez.com。其他一切都按预期运行,但当服务器收到 site1 上的 https 请求时,它会托管 sitez。
我尝试将所有未分配的 IP 地址更改为服务器的内部 IP 地址,但出现了同样的效果。
答案1
使用 HTTPS 协议时,主机标头会被忽略(至少在 IIS 6 上)。如果您不希望出现此现象,则需要将 www.site1.com 分配给专用 IP 地址,而不是使用“全部未分配”,并且不要在同一 IP 地址上使用其他 SSL 站点。