启动管理面板时 Strapi CMS 收到错误请求

Strapi CMS Get Bad Request when starting Admin Panel

我有一个非常奇怪的行为。我对我的 Strapi CMS 应用程序进行了 docker 化,直到几天前一切正常。现在我无法启动应用程序而不会在加载时出现以下错误:

在控制台中:

[2022-04-25 11:40:11.922] error: Malicious Path BadRequestError: Malicious Path
at resolvePath (MY_PATH/backend/node_modules/resolve-path/index.js:78:11)

在浏览器中:

它调用以下 URL:

http://0.0.0.0:1337//admin/init

我注意到端口后面有 //。当我卷曲 http://0.0.0.0:1337/admin/init 时,我得到以下响应:

{"data":{"uuid":"SOME_UUID","hasAdmin":true}}

但这对我没有帮助。

这是我的 server.js:

  module.exports = ({ env }) => ({
  host: env('HOST'),
  port: env.int('BACKEND_PORT'),
  //url: env("PUBLIC_URL"),
  app: {
    keys: env.array('APP_KEYS'),
  },
});

在我的 .env 文件中设置如下:

HOST=localhost 
BACKEND_PORT=1337

如果有人能帮助我就太好了,我被这个问题困扰了几天。 :/ 谢谢!

在测试了一大堆东西之后,我真的在最后用我的拉丁语,就像我们德国人喜欢说的那样“我完全不知道这里发生了什么”。所以在某些时候我认为这是 strapi 中的一个错误。在“连接到我的 node_modules 并编辑它们的 url” 之后,我意识到,当我使用 docker-compose 来启动我的容器时,即使我重建图像,也会有某种缓存。

所以我开始 docker 撰写:

docker-compose up --build -d

所以几天前我在 STRAPI_ADMIN_BACKEND_URL and/or PUBLIC_URL 环境变量中添加了一个反斜杠,这一直是某种缓存..

因此,如果您遇到同样的问题,请确保您的 docker 容器中的 .env 文件是正确的,并使用 --build 标志进行组合以确保一切都是新构建的,直到您修复您的漏洞。 您还可以将 -it 执行到容器中,同时使用 nano 检查 .env 文件的外观。

希望这可以节省一些时间。