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

DigitalOcean Strapi管理面板重定向求助:HTTPS混合内容拦截问题

解决Strapi管理面板混合内容(HTTP/HTTPS)拦截问题

我之前在DigitalOcean部署Strapi时也碰到过一模一样的问题,核心原因是Strapi还在生成HTTP协议的管理面板资源链接,导致浏览器触发混合内容拦截。给你几个关键的配置调整步骤,应该能快速解决:

1. 修改Strapi核心服务器配置

找到Strapi项目根目录下的config/server.js(Strapi v4版本),重点调整url和admin相关配置,强制Strapi使用HTTPS域名:

module.exports = ({ env }) => ({
  host: env('HOST', '0.0.0.0'),
  port: env.int('PORT', 1337),
  // 替换成你的HTTPS域名,比如 https://your-domain.com
  url: env('STRAPI_URL', 'https://your-domain.com'),
  app: {
    keys: env.array('APP_KEYS'),
  },
  admin: {
    url: '/admin',
    // 也可以直接指定完整HTTPS路径:'https://your-domain.com/admin'
    serveAdminPanel: true,
  },
});

如果是Strapi v3版本,配置文件路径为config/environments/production/server.js,逻辑一致,重点是把url字段设置为你的HTTPS域名。

2. 调整Admin面板专属配置

打开config/admin.js(v4版本),确保admin模块的URL配置和HTTPS域名对齐:

module.exports = ({ env }) => ({
  auth: {
    secret: env('ADMIN_JWT_SECRET'),
  },
  url: '/admin',
  serveAdminPanel: true,
});

3. 确保反向代理(如Nginx)传递HTTPS头

如果用Nginx做反向代理,必须添加X-Forwarded-Proto头,让Strapi知道客户端是通过HTTPS访问的。典型的Nginx配置片段:

server {
    listen 80;
    server_name your-domain.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name your-domain.com;

    ssl_certificate /path/to/your/ssl/cert.pem;
    ssl_certificate_key /path/to/your/ssl/privkey.pem;

    location / {
        proxy_pass http://localhost:1337;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        // 关键:告诉Strapi当前请求是HTTPS协议
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

4. 清除缓存并重启服务

最后别忘了:

  • 彻底清除浏览器缓存(尤其是静态资源缓存)
  • 重启Strapi服务:生产环境先执行npm run build,再用npm run start或PM2重启进程

完成这些步骤后,管理面板应该就能正常通过HTTPS加载,混合内容的拦截问题也会消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 18:27:54