
我在 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; } 1 Rebron1900 OP 虚心向各位大佬请教。 |
2 totoro625 2024-07-22 15:52:42 +08:00 chmod chown 执行的时候加上-R 试试 |
3 Rebron1900 OP 试过了,依旧不行。 |
4 cnrting 2024-07-22 16:09:50 +08:00 让我上去看看 |
5 shixinyu 2024-07-22 16:10:14 +08:00 不能放在 /home 下的子目录,会有权限问题。 放在 /opt 下试试,另外如果是红帽系还需要看看是否关闭了 SELinux 。 |
6 asonz3157 2024-07-22 16:10:47 +08:00 先看下 nginx 的 worker 用户用的是哪个:grep user /etc/nginx/nginx.conf 。 如果 worker 不是 ***** 的话,它是没有权限进到 ***** 的家目录的。 |
7 Rebron1900 OP @shixinyu 我试着放在 var 下,可以了,真是药到病除呀。 另外,我可以简历软链接到个人目录中吗? |
8 Rebron1900 OP @jason1121 懂了,谢谢大佬。 |
9 amrice 2024-07-22 17:55:59 +08:00 via Android 这不权限不足吗,看看 nginx 安装目录所属用户和用户组,然后 chown-R blog-data ,权限改 775 试试 |