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

Plesk服务器启动Strapi媒体库时出现403错误求助

解决Strapi在Plesk部署后媒体库403问题的思路

1. 排查Plesk的ModSecurity规则

Plesk默认启用的ModSecurity可能会拦截Strapi媒体上传相关的POST/PUT请求,尤其是涉及文件夹创建、文件写入的操作:

  • 进入Plesk后台域名 > 网站与域名 > 目标域名 > 防火墙(或ModSecurity选项)
  • 临时禁用ModSecurity,测试媒体库功能是否恢复。若正常,需定位触发拦截的具体规则,添加规则例外或调整规则参数。

2. 验证Strapi上传配置的正确性

检查Strapi生产环境的上传配置文件(config/env/production/plugins.js),确保存储路径合法且配置正确:

module.exports = ({ env }) => ({
  upload: {
    config: {
      provider: 'local',
      providerOptions: {
        sizeLimit: 1000000,
        // 确认路径指向Plesk网站根目录下的可写目录,比如./public/uploads
        path: env('UPLOAD_PATH', './public/uploads'),
        publicPath: '/uploads',
      },
    },
  },
});

注意:即使手动设置了文件夹权限,Plesk的用户隔离机制可能会覆盖部分权限,需确保Strapi运行用户(如www-data、apache)对该路径拥有递归读写权限。

3. 检查Plesk文件系统权限隔离设置

Plesk的权限隔离模式可能限制Strapi进程的写入权限:

  • 进入Plesk后台域名 > 网站与域名 > 目标域名 > 访问与权限
  • 查看“文件系统权限”选项,若当前为严格隔离模式,尝试切换为“允许修改文件权限”,或确认运行用户为网站对应的系统用户。

4. 调整Nginx/Apache反向代理配置

若Plesk使用Nginx作为反向代理,需确保配置未拦截/uploads路径的请求:

  • 进入Plesk后台域名 > 网站与域名 > 目标域名 > Apache & Nginx 设置
  • 在“附加Nginx指令”中添加:
location /uploads {
    root /path/to/your/strapi/project/public;
    try_files $uri $uri/ =404;
    allow all;
}

同时确认反向代理配置已正确传递Content-Type等必要请求头,且Strapi服务端口映射无误。

5. 查看详细日志定位问题

  • 查看Strapi项目目录下./logs中的production.log或error.log,获取403错误的具体触发细节。
  • 在Plesk后台工具与设置 > 日志 > Web服务器日志中,查看对应域名的访问日志,排查403请求的拦截原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 22:49:57