浏览SSL通配符域名时IIS重定向至默认网站的问题求助
调整站点绑定优先级
打开IIS管理器,右键网站列表,点「查看」勾选「绑定」列,确认你的目标站点HTTPS绑定(对应通配符域名)排在默认站点绑定的前面。IIS会优先匹配排序靠前的绑定,要是默认站点有同端口(443)的绑定,直接把目标站点绑定拖到最顶部。核对通配符证书绑定细节
检查目标站点的HTTPS绑定:「主机名」要填正确的通配符域名(比如*.yourdomain.com),「SSL证书」选对应的通配符证书,按需勾选「要求SSL」。另外看看默认站点有没有配置相同的通配符域名绑定,有的话直接删掉,避免冲突。检查URL重定向规则归属
要是你配了HTTP转HTTPS的重定向,得确认规则是加在目标站点下,不是默认站点里。打开目标站点的「URL重写」模块,检查规则的匹配条件:- 规则是否只针对你的目标域名,不是所有请求都跳转
- 要是规则有问题,删掉重建:匹配URL设为
(.*),条件填{HTTPS}、匹配模式^OFF$,操作重定向到https://{HTTP_HOST}/{R:1},状态码选301或302就行
确认应用程序池配置
右键目标站点→「管理网站」→「高级设置」,查看「应用程序池」是不是你专门创建的那个,别和默认站点共用。要是不对,改成专用池,确保池是运行状态。清除缓存后测试
浏览器可能缓存了旧跳转记录,用无痕模式访问目标URL,或者清完缓存再试。也可以用命令行curl -v https://你的目标域名,看看请求跳转的具体过程,确认重定向到底哪来的。排查端口与SSL证书绑定
打开命令提示符,执行netsh http show sslcert,查看443端口的证书绑定情况,确认目标域名的绑定是正确的,没被默认站点覆盖。要是有冲突,先备份再执行netsh http delete sslcert ipport=0.0.0.0:443,之后重新配置目标站点的SSL绑定。
内容的提问来源于stack exchange,提问作者أسامة قرابة

