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

Medusa.js后台管理页面空白问题求助(前端正常、Nginx代理)

问题解决:Medusa Admin反向代理后空白页面

问题分析

你的Medusa Admin服务返回的HTML中,脚本路径采用根路径(/runtime~main.bundle.js),通过Nginx反向代理到domain.com/admin后,浏览器会尝试从domain.com/runtime~main.bundle.js加载资源,而非domain.com/admin/runtime~main.bundle.js,导致资源加载404,最终页面空白。

解决步骤

1. 配置Medusa Admin静态资源路径

在Medusa Admin项目的.env文件中添加:

ADMIN_PUBLIC_PATH=/admin

或者启动Admin服务时直接指定参数:

npm run start -- --public-path /admin

2. 调整Nginx反向代理配置

修改Nginx的域名配置文件,确保/admin路径的请求被正确代理:

server {
    listen 80;
    server_name domain.com;

    # 店铺前端代理(假设前端运行在3000端口)
    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # Medusa Admin代理
    location /admin {
        proxy_pass http://localhost:7001;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect off;
    }
}

3. 重启相关服务

  • 重启Medusa Admin服务,让ADMIN_PUBLIC_PATH配置生效
  • 重启Nginx服务:
nginx -s reload

4. 验证结果

用curl访问domain.com/admin,查看返回的HTML中脚本路径是否变为/admin/runtime~main.bundle.js,之后在浏览器访问即可正常加载页面。

内容的提问来源于stack exchange,提问作者Sylwester Zabielski

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 21:23:10