首页 > 解决方案 > 带有子域的服务器上的 Strapi - 管理面板的问题

问题描述

我有默认的数字海洋安装的strapi。我为我的域更改了基于 api 的主机名,但出现此错误:

this:main.f910bea6.chunk.js:13 Mixed Content: The page at 'https://api.myhostname.app/admin' was loaded over HTTPS, but requested an insecure resource 'http://999.999.999.999/admin/init'. This request has been blocked; the content must be served over HTTPS.

主站点显示正确。问题出在管理面板中。

这是我的 nginx 配置:

server {

# Listen HTTP
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    #listen 80;
    server_name api.myhostname.app;

    ssl_certificate /etc/ssl/hostname.pem;
    ssl_certificate_key /etc/ssl/hostname.key;



# Proxy Config
    location / {
        proxy_pass http://strapi;
        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 $http_host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_pass_request_headers on;
    }
}

和 .env 文件:

NGINX_URL=https://api.myhostname.app
ADMIN_JWT_SECRET="best"

和配置:

module.exports = ({ env }) => ({
  host: env('HOST', '0.0.0.0'),
  port: env.int('PORT', 1337),
  url: env('NGINX_URL', ''),
  admin: {
    auth: {
      secret: env('ADMIN_JWT_SECRET'),
    },
  },
});

怎么了?

标签: strapi

解决方案


我解决了这个问题。这需要重建管理面板,如下所示:

npm run build

奇怪但有效。


推荐阅读