在Windows 11的IIS服务器部署.NET Core 6 Web应用遇阻求助
IIS部署.NET 6 API问题排查方案
核心配置修正
调整发布路径
使用dotnet publish -r win-x64 --self-contained发布后,实际可部署文件在\Hunter\Hunter.API\Bin\Release\net6.0\win-x64\publish目录下,而非直接的net6.0目录。将IIS站点的物理路径修改为该publish文件夹,确保路径指向包含web.config的目录。修正应用程序池设置
找到HunterAPI应用程序池,右键选择「高级设置」:- 将
.NET CLR版本设为无托管代码 - 确认
标识为ApplicationPoolIdentity,并给publish目录添加IIS_IUSRS和IUSR用户的读取权限
- 将
解决80端口显示默认站点内容问题
- 确认IIS中「默认网站」状态为已停止
- 修改站点绑定:
- 协议选HTTP,IP地址设为
127.0.0.1,端口80,主机名填localhost(不要填*) - 此时访问
http://localhost会直接指向你的HunterAPI站点,避免绑定冲突
- 协议选HTTP,IP地址设为
解决8081端口403.14错误
该错误说明IIS未识别到ASP.NET Core应用,按以下步骤处理:
- 安装ASP.NET Core Hosting Bundle
下载对应.NET 6版本的Hosting Bundle(包含ASP.NET Core模块),安装后重启IIS——该模块是IIS托管.NET Core应用的必要组件。 - 检查web.config文件
确认publish目录下存在web.config,其中需包含ASP.NET Core模块配置,示例:
若缺少该文件,重新执行发布命令并加上<aspNetCore processPath="Hunter.API.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />-c Release参数:dotnet publish -c Release -r win-x64 --self-contained true - 临时启用目录浏览(可选)
若仅用于排查,可在IIS站点的「目录浏览」功能中启用,但API应用核心还是要确保ASP.NET Core模块正常工作。
修复Hosts文件无效问题
若想用HunterAPI.com访问站点:
- 修改站点绑定:主机名填
HunterAPI.com,端口80,IP地址127.0.0.1 - 确认Hosts文件已添加
127.0.0.1 HunterAPI.com,保存后执行ipconfig /flushdns刷新DNS,再访问http://HunterAPI.com即可
内容的提问来源于stack exchange,提问作者Chuck Duncan
相关产品推荐
相关产品推荐

