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

Nginx同域名部署多服务时React应用/panel路径资源加载失败问题

nginx 配置
浏览器报错信息

这个问题是React路径配置和Nginx转发规则不匹配导致的,按下面两步改就能解决:

1. 调整React项目配置

  • 如果是用create-react-app搭建的项目,先在package.json中添加配置项:"homepage": "/panel"
  • 路由如果用的是BrowserRouter,添加basename属性:
import { BrowserRouter } from 'react-router-dom'

// 替换你原来的BrowserRouter声明
<BrowserRouter basename="/panel">
  {/* 原有路由规则不变 */}
</BrowserRouter>

改完重新打包项目,把打包后的build文件夹放到对应的服务目录。

2. 修改Nginx配置

根据你是直接托管静态资源还是反向代理到其他服务,二选一配置:

方案A:/panel直接对应静态资源目录

location /panel {
    alias /你的/panel项目/build目录的绝对路径;
    try_files $uri $uri/ /panel/index.html;
}

# 根路径的原有配置不用改
location / {
    alias /你的根路径项目/build目录的绝对路径;
    try_files $uri $uri/ /index.html;
}

方案B:/panel反向代理到其他后端服务

location /panel {
    # 注意末尾的斜杠必须加,作用是把请求路径里的/panel前缀去掉再转发
    proxy_pass http://你另一台服务的地址/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

配置改完执行nginx -t检查语法没问题后,执行nginx -s reload生效,清浏览器缓存重新访问/panel就正常了。

内容的提问来源于stack exchange,提问作者Dmitry Dn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:12:04