添加bs-local.com绑定后IIS Express无法服务localhost,如何同时使用两者?
解决IIS Express同时服务localhost:44334和bs-local.com:44335的问题
问题原因
添加https://bs-local.com:44335/的URL ACL规则后,IIS Express无法获取localhost:44334的监听权限,导致该站点无法启动。这是因为IIS Express需要为每个HTTPS绑定的URL单独申请权限,仅配置其中一个的ACL规则会导致另一个绑定的权限缺失。
解决方案
按以下步骤操作,确保两个绑定都能正常工作:
为localhost:44334添加URL ACL规则
打开管理员命令提示符,执行:netsh http add urlacl url=https://localhost:44334/ user=everyone这条命令授予所有用户访问该URL的权限,让IIS Express可以正常监听这个端口。
验证并修复证书绑定
首先检查当前的SSL证书绑定情况:netsh http show sslcert确认
0.0.0.0:44334和0.0.0.0:44335都有对应的证书绑定。如果localhost:44334没有绑定证书,执行以下命令(替换certhash和appid为你的实际值):netsh http add sslcert ipport=0.0.0.0:44334 certhash=你的证书哈希值 appid={你的应用ID}提示:
appid可以从已有的bs-local.com:44335绑定记录中复制,也可以使用IIS Express默认的应用ID{214124cd-d05b-4309-9af9-9caa44b2b74a}。重启IIS Express并验证服务
- 关闭所有IIS Express进程(可通过任务管理器结束
iisexpress.exe) - 重新启动你的站点,检查运行列表中是否同时显示两个绑定的服务
- 分别访问
https://localhost:44334和https://bs-local.com:44335,确认两者都能正常响应
- 关闭所有IIS Express进程(可通过任务管理器结束
额外排查点
如果问题仍然存在,查看IIS Express的日志文件(路径通常为%USERPROFILE%\Documents\IISExpress\Logs),从中获取具体的启动错误信息,以便进一步定位问题。
内容的提问来源于stack exchange,提问作者Brian
相关产品推荐
相关产品推荐

