Windows Server IIS部署ASP.NET网站:从安装到HTTPS全流程教程

IIS 部署 ASP.NET 网站完整流程

IIS(Internet Information Services)是 Windows Server 内置的 Web 服务器,与 ASP.NET 深度集成,是在 Windows 环境部署 .NET Web 应用的标准方案。


一、安装 IIS 和 ASP.NET 支持

在 PowerShell(管理员)中执行:

# 安装 IIS 及常用功能
Install-WindowsFeature -Name Web-Server, Web-Asp-Net45, Web-Net-Ext45, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Mgmt-Console -IncludeManagementTools

# 验证安装
Get-WindowsFeature Web-Server

安装 ASP.NET Core Hosting Bundle(支持 .NET Core / .NET 5+ 应用):

  1. 访问 https://dotnet.microsoft.com/download
  2. 下载最新版本的 ASP.NET Core Runtime - Windows Hosting Bundle
  3. 安装完成后重启 IIS:iisreset

二、发布 ASP.NET Core 应用

在开发机上发布应用(自包含部署,无需目标服务器安装 .NET):

dotnet publish -c Release -r win-x64 --self-contained true -o ./publish

publish 文件夹内容通过 RDP 剪贴板、FTP 或 SCP 上传到服务器,例如放在 C:\inetpub\wwwroot\myapp\


三、在 IIS 中创建网站

  1. 打开 IIS 管理器(运行 → inetmgr
  2. 左侧展开服务器 → 右键"网站" → "添加网站"
  3. 填写:
    • 网站名称:myapp
    • 物理路径:C:\inetpub\wwwroot\myapp
    • 绑定类型:http,端口:80,主机名:your-domain.com
  4. 点击确定

为 ASP.NET Core 应用添加 web.config

在应用目录创建 web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath=".\YourApp.exe"
                  stdoutLogEnabled="false"
                  stdoutLogFile=".\logs\stdout"
                  hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>

四、申请 Let's Encrypt 免费 SSL 证书

Windows 上使用 win-acme 工具申请 Let's Encrypt 证书并自动配置 IIS:

  1. 下载 win-acme:https://www.win-acme.com/
  2. 解压后以管理员身份运行 wacs.exe
  3. 选择 N(新建证书)→ 选择 IIS 站点 → 选择你的网站
  4. 输入邮箱,同意条款,自动申请证书并配置 HTTPS 绑定

win-acme 会自动创建计划任务,证书到期前自动续期,无需手动操作。


五、常见问题排查

错误现象可能原因解决方法
502.5 进程失败未安装 Hosting Bundle 或版本不匹配重新安装对应版本 Hosting Bundle 后 iisreset
403.14 目录列表被拒绝默认文档配置问题IIS 管理器 → 默认文档 → 添加应用入口文件名
应用池停止应用启动报错导致应用池崩溃开启 stdout 日志查看具体报错
证书申请失败域名未解析或 80 端口防火墙未放行确认 DNS 和防火墙设置后重试

总结

IIS 部署 ASP.NET Core 的完整流程:安装 IIS + Hosting Bundle → 发布应用到服务器目录 → IIS 创建网站并绑定域名 → 用 win-acme 申请 Let's Encrypt 证书配置 HTTPS → 设置自动续期。整个过程约 30–60 分钟,完成后应用可正常对外提供 HTTPS 服务。

需要 Windows Server 运行环境,IDC.Net 香港云服务器支持 Windows Server 系统,CN2 GIA 直连大陆延迟低,支付宝付款,免 KYC 实名。

THE END