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

配置Strapi通过Nginx代理实现SSL访问时/api路径无法访问

问题诊断与解决方案

你的问题核心是Nginx代理路径匹配错误,以及Strapi的代理信任配置缺失,导致请求转发后无法匹配Strapi的原始路由。以下是具体修复步骤:

1. 修正Nginx代理配置

当前Nginx的location /api/配置中,proxy_pass末尾缺少斜杠,导致请求会带着/api前缀转发到Strapi,而Strapi的原始路由并没有这个前缀(你直接访问http://11.222.3.44:1337/uploads/...正常,说明Strapi路由无/api前缀)。

修改/etc/nginx/sites-available/default中的location /api/块:

location /api/ {
    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;
    proxy_set_header X-Forwarded-Proto $scheme;  # 告诉Strapi当前使用HTTPS
}
  • 末尾斜杠的作用:Nginx会将/api/后面的路径直接追加到proxy_pass的URL后,例如请求/api/uploads/mypicture.jpg会转发为http://localhost:1337/uploads/mypicture.jpg,和你直接访问的路径一致。
  • 添加额外的proxy_set_header:确保Strapi能正确获取客户端IP和协议信息,避免HTTPS相关的问题。

修改后重启Nginx:

sudo systemctl restart nginx

2. 调整Strapi的代理信任配置

Strapi需要明确信任Nginx代理,才能正确处理转发的请求。修改backend/config/server.js:

module.exports = ({ env }) => ({
  host: env('HOST', '0.0.0.0'),
  port: env.int('PORT', 1337),
  url: "https://mywebsite.de/api",
  proxy: {
    enabled: true,
    ip: true,  // 信任代理传递的IP
  },
  admin: {
    auth: {
      secret: env('ADMIN_JWT_SECRET', 'mysecret'),
    },
  },
});
  • proxy.enabled: true:开启代理支持,让Strapi识别来自Nginx的转发请求。
  • 保留url配置:确保Strapi生成的管理后台链接、资源URL(如上传文件)正确指向https://mywebsite.de/api。

3. 验证CORS配置(可选但重要)

如果前端需要从mywebsite.de请求Strapi接口,确保Strapi的CORS允许该域名。修改backend/config/security.js:

module.exports = ({ env }) => ({
  cors: {
    enabled: true,
    origin: ['https://mywebsite.de'],  // 允许前端域名访问
  },
});

4. 重启Strapi服务

cd /home/debian/backend
npm run develop  # 开发环境
# 生产环境使用 npm run start

测试验证

  • 访问https://mywebsite.de/api/uploads/mypicture.jpg,应该返回200。
  • 访问https://mywebsite.de/api/admin,应该能正常进入Strapi管理后台。
  • 查看Strapi日志,应该不会再出现GET /api/ (20 ms) 404的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 11:30:41