IIS 部署 .NET 6 WebApi 实战指南
在 .NET 开发体系中,IIS 一直是部署 WebApi 的主力工具。许多开发者虽然能熟练编写接口,但在涉及部署时,常因环境配置、权限设置或证书问题受阻。本文介绍将 .NET 6 WebApi 部署至 IIS 的步骤,并分析其适用场景。
一、环境准备
部署前需确认以下事项:
1. 已安装 IIS
通过控制面板启用 Windows 功能,勾选:
- Internet Information Services
- Web 管理工具
- 万维网服务
- 应用程序开发功能
安装完成后访问 http://localhost,若显示默认页面则说明成功。
2. 安装 .NET 6 Hosting Bundle
这是最关键的一步。若服务器未安装对应版本的 Hosting Bundle,接口通常会报 HTTP Error 500.30 - ANCM In-Process Start Failure。
下载地址:.NET 6 下载
3. WebApi 发布为 Release
在 Visual Studio 中右键项目,选择'发布'->'文件夹',指定发布路径。发布后生成的文件包括:
- xxx.dll
- web.config
- wwwroot
此目录即为 IIS 指向的物理路径。
二、在 IIS 中创建站点
打开 IIS 管理器:
- 网站 → 右键 → 添加网站
- 物理路径:选择发布后的文件夹
- 端口:例如 80(测试环境)
- 应用程序池:默认即可(.NET Core 不依赖传统 CLR)
完成后访问 http://localhost:80/swagger,若能打开 Swagger 页面,说明部署成功。
三、常见问题排查
❌ 500.30 启动失败
大概率未安装 Hosting Bundle 或版本不匹配。
❌ 403 无权限访问
给站点文件夹添加权限:
- IIS_IUSRS
- 或 Everyone(仅限测试环境) 生产环境建议精细化控制权限。
❌ 端口冲突
执行 netstat -ano 查看端口是否被占用。
四、IIS 部署 WebApi 的优势
在 Windows 服务器环境下,IIS 部署 WebApi 仍是稳妥方案。
- 集成度高:与 Windows 深度整合,无需额外学习 Linux 运维体系。
- 稳定成熟:应用程序池回收机制完善,长期运行稳定。
- 权限体系清晰:基于 Windows 账户体系控制访问权限,安全性高。
- 操作可视化:对不熟悉服务器命令行的人员非常友好。
五、IIS 适合部署 Vue 吗?
结论:不太理想。
Vue 属于单页应用(SPA),需要配置:
- URL Rewrite 重写规则
- 处理 history 路由模式
- 各种重定向配置
- applicationHost.config 相关调整


