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

Windows Server部署时出现404错误求助:React+.NET Core前后端

React + ASP.NET Core 部署到 Windows Server 404错误排查方案

1. IIS基础配置检查

  • 确认站点物理路径指向ASP.NET Core发布目录:路径需包含web.config、项目dll文件,切勿指向React源码或未构建的目录。
  • 安装对应版本的ASP.NET Core托管捆绑包:Windows Server必须安装与项目.NET Core版本匹配的托管捆绑包,否则IIS无法处理.NET Core请求。
  • 应用池设置:将应用池的.NET CLR版本设为无托管代码,ASP.NET Core为自托管模式,无需IIS托管代码。

2. React SPA路由兼容处理

React单页应用的客户端路由在IIS下刷新或直接访问子路由会触发404,需在web.config中添加重写规则:

<system.webServer>
  <rewrite>
    <rules>
      <rule name="SPA Fallback" stopProcessing="true">
        <match url=".*" />
        <conditions logicalGrouping="MatchAll">
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
        <action type="Rewrite" url="/index.html" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>
  • 确保React已正确构建:执行npm run build生成build目录,将该目录下的所有文件复制到ASP.NET Core项目的wwwroot文件夹中。

3. 后端API路由验证

  • 检查API请求路径:部署后需将本地的localhost地址替换为服务器域名/IP,避免因路径错误导致API请求404。
  • 查看.NET Core日志:在appsettings.json中设置Logging.LogLevel.Default为Debug,部署后查看日志文件(默认在Logs目录),排查路由匹配失败细节。

4. 文件权限排查

  • 给IIS应用池身份分配发布目录的读写权限:重点确保wwwroot静态文件目录和日志目录的权限正常,权限不足会导致文件无法读取。

附错误截图:
404错误截图

内容的提问来源于stack exchange,提问作者Md. Shafiqul Islam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 01:20:01