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

VPS服务器Ubuntu系统中Strapi Admin面板无法加载求助

解决Strapi管理面板加载失败(digest读取错误)问题

问题根源

你遇到的Cannot read properties of undefined (reading 'digest')错误,核心原因是Strapi生产环境默认强制要求HTTPS访问管理面板,HTTP环境下认证流程的加密逻辑会失效,导致该报错。

解决方案

一、生产环境:配置HTTPS(推荐)

这是彻底解决问题的正规方案,步骤如下:

  1. 安装Certbot获取免费SSL证书
    sudo apt update && sudo apt install certbot
    sudo certbot certonly --standalone -d your-domain.com
    
  2. 修改Strapi服务器配置文件(config/server.js 或 config/env/production/server.js):
    module.exports = ({ env }) => ({
      host: env('HOST', '0.0.0.0'),
      port: env.int('PORT', 1337),
      url: env('URL', 'https://your-domain.com'),
      ssl: {
        key: env('SSL_KEY', '/etc/letsencrypt/live/your-domain.com/privkey.pem'),
        cert: env('SSL_CERT', '/etc/letsencrypt/live/your-domain.com/fullchain.pem'),
      },
    });
    
  3. 修改管理面板配置文件(config/admin.js):
    module.exports = ({ env }) => ({
      auth: {
        secret: env('ADMIN_JWT_SECRET', 'your-random-32-character-secret'),
      },
      url: '/admin',
      forceAdminPanelSSL: true,
    });
    
  4. 重启Strapi服务,访问https://your-domain.com/admin即可正常加载面板。

二、测试环境:临时允许HTTP访问

若仅用于测试,可关闭HTTPS强制检查:

  1. 修改config/admin.js:
    module.exports = ({ env }) => ({
      auth: {
        secret: env('ADMIN_JWT_SECRET', 'your-random-secret-key'),
      },
      url: '/admin',
      forceAdminPanelSSL: false,
    });
    
  2. 修改config/server.js设置正确的HTTP地址:
    module.exports = ({ env }) => ({
      host: env('HOST', '0.0.0.0'),
      port: env.int('PORT', 1337),
      url: env('URL', 'http://your-server-ip:1337'),
    });
    
  3. 重启Strapi,访问http://your-server-ip:1337/admin即可解决报错。

额外检查项

  • 确保服务器防火墙开放Strapi端口(默认1337):
    sudo ufw allow 1337/tcp
    
  • 确认ADMIN_JWT_SECRET环境变量已设置,缺失该密钥会直接导致认证失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 14:00:17