本文详细讲解在IIS服务器中安装.NET Core Hosting Bundle(托管捆绑包)以及URL Rewrite(URL重写模块)的完整流程,包括下载地址说明、安装步骤、常见报错解决方案、环境变量检查、模块验证方法及部署ASP.NET Core网站的注意事项,适用于Windows Server环境下的网站部署与生产环境配置。
介绍
在使用 IIS 部署 ASP.NET Core 项目时,仅仅安装好 IIS 本身是远远不够的。 很多人在部署过程中都会遇到 500.30 启动失败、无法加载 CoreCLR、站点无法启动、URL 无法正常重写或跳转失效 等问题, 其根本原因往往是缺少关键组件——.NET Core 托管捆绑包(Hosting Bundle)和 URL Rewrite 模块。
.NET Core 托管捆绑包是 ASP.NET Core 在 IIS 上运行的核心依赖, 它包含了 .NET 运行时、ASP.NET Core 运行时以及 IIS 集成模块(ANCM)。 没有它,IIS 无法正确加载和托管 ASP.NET Core 应用程序。
而 URL Rewrite 模块则用于实现 URL 重写、301/302 跳转、HTTP 强制跳转 HTTPS、反向代理规则配置等功能,是生产环境部署中非常常用的扩展组件。
本文将从零开始,详细讲解:
- IIS 环境准备 参考我的另一篇文章
-
.NET Core Hosting Bundle 的下载安装与验证
-
URL Rewrite 模块的安装与配置
-
安装后如何检查是否生效
还有一个要点就是,在 IIS 上部署 ASP.NET Core 项目时,很多人会误以为需要安装多个组件才能运行。实际上:
✅ 必须安装的是 .NET Core Hosting Bundle ⚙️ URL Rewrite 模块属于可选组件
一、.NET Core Hosting Bundle(必须安装)
它是什么?
.NET Core Hosting Bundle 是 IIS 运行 ASP.NET Core 项目的核心组件。
它包含:
-
- .NET Runtime
-
- ASP.NET Core Runtime
-
- IIS 集成模块(AspNetCoreModuleV2)
IIS 本身无法直接运行 ASP.NET Core 程序,必须通过 AspNetCoreModule 将请求转发给 Kestrel,再由应用程序处理。
运行流程:
IIS → AspNetCoreModule → Kestrel → ASP.NET Core 应用
如果没有安装 Hosting Bundle,IIS 将无法托管 ASP.NET Core。
.NET Core Hosting Bundle官方下载地址
ASP.NET Core 7 Hosting Bundle 下载地址:
⚠ 建议安装与你项目运行时版本一致或更高版本 ⚠ 推荐使用 LTS 版本用于生产环境
.NET Core Hosting Bundle安装步骤
双击下载的安装包
勾选“Install for all users”
点击 Install
安装完成后重启服务器(非常重要)
如果不重启,IIS 可能无法正确加载模块。
如何验证.NET Core Hosting Bundle是否安装成功?
方法一:IIS 管理器查看模块
打开 IIS 管理器:
点击服务器节点
打开“模块”
如果看到:
AspNetCoreModuleV2
说明安装成功。
方法二:命令行验证
打开 CMD:
dotnet --info
如果能正常显示 .NET 运行时信息,说明运行时安装成功。
二、URL Rewrite 模块(可选安装)
URL Rewrite 模块 官方下载地址
IIS URL Rewrite 官方下载地址:
什么时候需要安装URL Rewrite 模块?
以下场景才需要安装 URL Rewrite:
-
- 强制 HTTP 跳转 HTTPS
-
- 域名 301 / 302 重定向
-
- www 与非 www 统一
-
- 反向代理配置
-
- 自定义 URL 重写规则
-
- 防盗链或安全规则控制
如果你的站点只是单纯部署运行,不做跳转规则,可以不安装。
URL Rewrite安装步骤
下载 URL Rewrite 安装包
双击安装
安装完成后重启 IIS
如何验证URL Rewrite是否安装成功?
打开 IIS 管理器:
点击站点
查看功能视图
如果出现:
URL Rewrite(URL 重写)
说明安装成功。