React部署IIS后空白页及main、manifest.json 404错误解决方法
解决IIS部署React应用空白页+资源404问题
检查虚拟路径与物理路径的匹配
确认在IIS中添加的应用程序,其虚拟路径(如/my-app)对应的物理路径直接指向你复制的build文件夹根目录,不要指向build内的子文件夹。配置React构建的公共路径
如果是作为IIS子应用部署,必须在项目根目录的package.json中添加homepage字段,值为你的应用虚拟路径,比如:"homepage": "/my-react-app/"保存后重新执行
npm run build,将新生成的build文件覆盖服务器上的旧文件。这一步是核心——默认React构建的资源路径是根路径/,作为子应用部署时路径前缀不匹配就会导致404。确认IIS已安装静态文件模块
打开服务器管理器,通过「添加角色和功能」检查Web服务器(IIS)下的「静态文件」组件是否已安装。未安装的话,IIS无法识别并返回静态资源(JS、JSON等),直接报404。验证文件夹权限的继承性
右键服务器上的build文件夹→「属性」→「安全」→「高级」,确认IIS_IUSRS的权限已应用到所有子文件和子文件夹,而不是仅父文件夹。如果没继承,勾选「将所有子对象权限条目替换为此对象的可继承权限条目」并保存。检查应用程序池身份权限
除了IIS_IUSRS,还需确保应用程序池的身份(默认是ApplicationPoolIdentity)拥有build文件夹的读取和执行权限。在文件夹安全设置中添加该身份,赋予对应权限。
内容的提问来源于stack exchange,提问作者wally2
相关产品推荐
相关产品推荐

