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

Django部署SSL后静态资源403权限问题求助(Nginx+Ubuntu)

修复Ubuntu Nginx部署Django后静态资源403权限问题

核心问题是**/root目录的默认权限限制**:/root目录默认权限为700(仅root用户可访问),即便你给/root/memcur/static设置了正确的权限,Nginx运行的www-data用户也无法穿透/root目录的权限屏障,导致无法读取静态资源。

修复步骤(优先推荐方案)

  1. 迁移项目到非root目录
    把整个项目移到web服务常用的/var/www目录下,避免root目录的权限限制:

    sudo mv /root/memcur /var/www/
    

    重新设置静态目录权限:

    sudo chown -R www-data:www-data /var/www/memcur/static/
    sudo chmod -R 755 /var/www/memcur/static/
    
  2. 更新Nginx配置
    打开你的Nginx站点配置文件(通常在/etc/nginx/sites-available/memcur.com),找到处理静态资源的location /static/块,将root路径从/root/memcur/修改为/var/www/memcur/:

    location /static/ {
        root /var/www/memcur/;
        expires 30d;
    }
    

    测试配置有效性并重启Nginx:

    sudo nginx -t
    sudo systemctl reload nginx
    

备选方案(不推荐,有安全风险)

如果实在不想迁移项目,可以临时给/root目录添加其他用户的执行权限(允许www-data进入目录),但这会降低root目录的安全性:

sudo chmod o+x /root/

执行后再检查Nginx日志,静态资源应该能正常加载,但不建议长期保留这个设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 04:32:18