V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Rebron1900
V2EX  ›  问与答

nginx 部署静态网站提示 403 错误

  •  
  •   Rebron1900 · 47 天前 · 745 次点击
    这是一个创建于 47 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在 Github Action 中用 rsync 通过 ssh 部署了生成的静态网站到我的 VPS 上,并用 nginx 做了发布,但是访问时提示 403 错误,log 日志如下:

    2024/07/22 15:40:09 [error] 68243#68243: *7557 "/home/*****/data/blog-data/index.html" is forbidden (13: Permission denied), client: ***.***.**.**, server: blog.com, request: "GET / HTTP/1.1", host: "blog.com"
    

    我尝试根据 GPT4o 给的解决方案,将改目录用户组改为了 www-root 但是依旧 403 错误。

    也尝试过以下操作,也依旧 403 。

    # 设置目录权限为 755  
    find /home/*****/data/blog-data -type d -exec chmod 755 {} \;  
    
    # 设置文件权限为 644  
    find /home/*****/data/blog-data -type f -exec chmod 644 {} \;  
    

    nginx 配置文件如下:

    server {
        listen              443 ssl;  
        server_name         1900.live;
        
        include snippets/ssl-params.conf;
    
        location / {
            root /home/****/data/blog-data;
            index index.html;
        }
    
    
    
        location ~ /.well-known {
            allow all;
        }
      
    
        client_max_body_size 50m;
    }
    
    9 条回复
    Rebron1900
        1
    Rebron1900  
    OP
       47 天前
    虚心向各位大佬请教。
    totoro625
        2
    totoro625  
       47 天前
    chmod chown 执行的时候加上-R 试试
    Rebron1900
        3
    Rebron1900  
    OP
       47 天前
    试过了,依旧不行。
    cnrting
        4
    cnrting  
       47 天前
    让我上去看看
    shixinyu
        5
    shixinyu  
       47 天前
    不能放在 /home 下的子目录,会有权限问题。
    放在 /opt 下试试,另外如果是红帽系还需要看看是否关闭了 SELinux 。
    jason1121
        6
    jason1121  
       47 天前
    先看下 nginx 的 worker 用户用的是哪个:grep user /etc/nginx/nginx.conf 。

    如果 worker 不是 ***** 的话,它是没有权限进到 ***** 的家目录的。
    Rebron1900
        7
    Rebron1900  
    OP
       47 天前
    @shixinyu 我试着放在 var 下,可以了,真是药到病除呀。
    另外,我可以简历软链接到个人目录中吗?
    Rebron1900
        8
    Rebron1900  
    OP
       47 天前
    @jason1121 懂了,谢谢大佬。
    amrice
        9
    amrice  
       47 天前 via Android
    这不权限不足吗,看看 nginx 安装目录所属用户和用户组,然后 chown-R blog-data ,权限改 775 试试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1199 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:00 · PVG 08:00 · LAX 17:00 · JFK 20:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.