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

Django部署后media下avatar目录访问报403 Forbidden故障

问题根因

你贴出的目录权限信息已经直接指向故障原因:avatar目录的权限为drwx------(对应八进制权限值700),仅目录所有者拥有读、写、进入目录的权限,Nginx/应用服务的运行用户(通常为www-data、nginx等低权限服务账号)没有该目录的访问权限,自然无法读取目录内任何文件,返回403错误。
其余可正常访问的目录权限均为drwxr-xr-x(对应八进制权限值755),所有用户都拥有进入、读取目录内容的权限,因此资源加载不受影响。该故障和文件大小、文件名规则、文件格式没有关联。
本地开发环境无异常是因为你启动runserver时使用的是当前登录用户,该用户恰好是avatar目录的所有者,有权限读取目录内容,不会触发权限拦截。

修复操作
  • 直接修正avatar目录权限:
    chmod 755 /替换为你服务器上项目的实际绝对路径/media/avatar
    
  • 建议批量校准整个media目录的权限,避免后续其他子目录出现同类问题:
    # 将media下所有目录权限设为755
    find /替换为你服务器上项目的实际绝对路径/media -type d -exec chmod 755 {} \;
    # 将media下所有文件权限设为644
    find /替换为你服务器上项目的实际绝对路径/media -type f -exec chmod 644 {} \;
    
  • 如果目录属主和服务运行用户不匹配,同步修正属主(以服务运行用户为www-data为例,如果你用的是nginx、CentOS下的apache用户请对应替换):
    chown -R www-data:www-data /替换为你服务器上项目的实际绝对路径/media
    
验证

权限修正后无需重启服务,直接刷新页面访问对应资源即可,也可以在服务器本地执行命令验证返回状态:

curl -I http://你的站点域名/media/avatar/1.png

返回200状态码即代表修复完成。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 09:36:25