部署在IIS Express上的.NET 6 Web API出现无效主机名错误
IIS部署Web API出现“Bad Request - Invalid hostname”错误的解决方法
检查IIS站点绑定的主机头一致性
确认applicationHost.config中的站点绑定hostName值与hosts文件里的webapi2.com完全匹配,无大小写差异、多余空格或后缀(如误写为webapi2.com.)。同时确保绑定的协议(http/https)、端口与访问时使用的一致,比如绑定80端口则直接访问http://webapi2.com,无需额外端口号。验证Hosts文件配置有效性
打开命令提示符执行ping webapi2.com,若返回IP不是127.0.0.1,说明Hosts配置未生效:- 确认Hosts文件已保存修改(需管理员权限编辑)
- 执行
ipconfig /flushdns清除DNS缓存,避免旧记录干扰
确认IIS站点绑定正确应用
打开IIS管理器,找到目标站点右键选择「编辑绑定」,检查绑定列表中存在以下条目:IP地址为「全部未分配」或「127.0.0.1」,端口对应设置值,主机头为webapi2.com。排查IIS Express与本地IIS的绑定冲突
确保本地IIS和IIS Express未使用相同端口与主机头,避免资源占用冲突。关闭Visual Studio中的IIS Express服务后,重新尝试访问本地IIS部署的站点。二次验证站点目录权限
尽管已配置inetpub目录权限,仍需确认站点物理路径的权限设置:给IIS_IUSRS和IUSR用户授予「读取和执行」「列出文件夹内容」「读取」权限,排除权限问题引发的间接错误。
内容的提问来源于stack exchange,提问作者auetic
相关产品推荐
相关产品推荐

