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

Nginx反向代理下Strapi子目录Admin页面JS文件404问题

解决Strapi子目录部署下Admin页面JS资源404问题

核心问题分析

Admin页面HTML加载但空白、JS文件404,且Strapi日志无对应请求,说明Nginx未正确转发静态资源请求——因为Strapi Admin的静态资源路径基于配置的子目录,但代理规则未覆盖这些子路径,或者路径转发逻辑错误。

分步解决方案

1. 确认Strapi Server配置正确性

修改config/server.js,确保开启代理模式并正确设置子目录URL:

module.exports = ({ env }) => ({
  host: env('HOST', '0.0.0.0'),
  port: env.int('PORT', 1337),
  app: {
    keys: env.array('APP_KEYS'),
  },
  url: 'https://blah.mywebsite.com/strapi',
  proxy: true, // 必须开启,让Strapi识别代理环境
  admin: {
    url: '/admin',
    serveAdminPanel: true,
  },
});

修改后重新构建并重启Strapi:

yarn build && pm2 restart strapi

2. 修正Nginx代理配置

确保所有/strapi/开头的请求都正确转发到Strapi的1337端口,关键是proxy_pass末尾的斜杠(会移除/strapi/前缀后转发),以及使用^~优先级匹配:

server {
  listen 443 ssl;
  server_name blah.mywebsite.com;

  # 保留Next.js的根路径代理配置
  location / {
    proxy_pass http://localhost:3000; # 替换为你的Next.js端口
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }

  # Strapi子目录代理配置
  location ^~ /strapi/ {
    proxy_pass http://localhost:1337/; # 末尾斜杠必须保留
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $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_set_header Host $host;
  }
}

3. 验证配置并重启服务

  • 测试Nginx配置是否合法:
    sudo nginx -t
    
  • 重启Nginx加载新配置:
    sudo systemctl restart nginx
    

4. 清除缓存测试

使用浏览器无痕模式访问https://blah.mywebsite.com/strapi/admin,避免旧缓存导致的资源路径错误。

额外排查点

  • 检查Strapi构建目录(.strapi/build/admin)下的index.html,确认script标签的src属性是否为/strapi/admin/xxx.js格式,确保与配置的URL一致。
  • 查看Strapi的PM2日志,确认启动日志包含Server is running on https://blah.mywebsite.com/strapi,说明配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:46:37