You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 5.0 Web API部署遇HTTP 404错误,求排查方案

排查.NET5 API部署IIS后404错误的关键点
  • 确认ASP.NET Core托管模块已安装
    Server 2019默认不会预装ASP.NET Core的IIS托管模块,需要安装对应版本的ASP.NET Core Runtime或托管捆绑包(Hosting Bundle)。没有这个模块,IIS无法将请求转发给.NET Core应用,直接返回404。

  • 核对物理路径的拼写与一致性
    你提到发布文件在D:\Sites\WebSite\Mailer,但IIS应用指向的是D:\Sites\Websites\Mailer,注意WebSite和Websites的拼写差异,物理路径不匹配会导致IIS找不到应用文件,触发404。

  • 验证API路由与虚拟路径配置

    • 确保控制器的路由前缀与期望访问路径匹配,比如目标端点是否标记了[Route("mailer/pdfmaker")],或者启动时的全局路由配置是否正确。
    • 检查IIS中创建的Mailer应用虚拟路径是否为/mailer,只有这样访问website.com/mailer/pdfmaker才会映射到该应用下的API端点。
  • 检查应用池权限
    传递身份验证模式下,应用池的身份(默认是ApplicationPoolIdentity)需要拥有对D:\Sites\Websites\Mailer目录的读取和执行权限。权限不足会导致应用无法加载,表现为404错误。

  • 查看ASP.NET Core应用日志
    在服务器上启用应用日志排查启动问题:

    1. 修改web.config,将stdoutLogEnabled设为true,指定日志路径:
      <aspNetCore processPath=".\YourApiName.exe" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
      
    2. 手动创建logs目录,访问API后查看日志文件,里面会记录应用启动失败的具体原因(比如依赖缺失、配置错误)。
  • 确认部署文件完整性
    如果是self-contained模式部署,确保所有发布生成的文件(包括.exe、DLL、配置文件、静态资源等)都完整复制到服务器目录,遗漏关键文件会导致应用无法启动。

  • 检查web.config的ASP.NET Core配置
    确认web.config中的processPath指向正确的应用exe文件名,hostingModel设置合理(.NET5推荐inprocess)。如果该配置错误,IIS无法正确启动.NET Core应用。

内容的提问来源于stack exchange,提问作者Musical Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 08:46:21