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

生产环境下Strapi插件无法加载问题求助(Uberspace部署)

解决Strapi部署到Uberspace时插件静态资源404问题

针对你遇到的插件资源404(如/ckeditor5/ckeditor-config)问题,结合本地正常、服务器异常的情况,排查方向和解决步骤如下:

1. 确认构建时环境变量完整传入

本地构建正常但服务器异常,大概率是构建阶段未正确传入URL等关键环境变量,导致插件生成的静态资源路径错误。

  • 构建时必须显式传入环境变量,不要仅依赖配置文件读取:
    URL=https://reeed2.uber.space NODE_ENV=production npm run strapi build
    
  • 验证:构建完成后,检查.strapi/build/admin目录下的插件相关静态资源路径,确认是否包含正确的域名前缀,而非相对路径。

2. 配置Uberspace的静态资源映射

Uberspace默认从public目录提供静态资源,但Strapi插件的静态资源在.strapi/build目录下,需添加代理规则映射路径:

  • 在Uberspace的.htaccess或web配置中添加规则(根据实际插件路径调整):
    RewriteRule ^ckeditor5/(.*)$ /.strapi/build/admin/ckeditor5/$1 [L]
    RewriteRule ^menu-plugin/(.*)$ /.strapi/build/admin/menu-plugin/$1 [L]
    

3. 确保服务器依赖安装完整

服务器构建前,重新安装所有依赖避免版本不一致:

rm -rf node_modules package-lock.json
npm install --production

4. 验证反向代理请求头传递

Strapi的proxy: true配置需要依赖代理传递的头信息,在Uberspace代理配置中添加:

RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Host "reeed2.uber.space"

5. 启用详细日志排查

修改config/env/production/server.js添加日志配置,重启服务后查看详细请求处理过程:

module.exports = ({ env }) => ({
  proxy: true,
  url: env('URL', 'https://reeed2.uber.space'),
  port: env('PORT', '1337'),
  host: env('HOST', '0.0.0.0'),
  app: {
    keys: env.array('APP_KEYS')
  },
  logger: {
    level: 'debug',
    format: 'json'
  }
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 19:27:06