我在 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 47 天前
chmod chown 执行的时候加上-R 试试
|
3
Rebron1900 OP 试过了,依旧不行。
|
![]() |
4
cnrting 47 天前
让我上去看看
|
5
shixinyu 47 天前
不能放在 /home 下的子目录,会有权限问题。
放在 /opt 下试试,另外如果是红帽系还需要看看是否关闭了 SELinux 。 |
![]() |
6
jason1121 47 天前
先看下 nginx 的 worker 用户用的是哪个:grep user /etc/nginx/nginx.conf 。
如果 worker 不是 ***** 的话,它是没有权限进到 ***** 的家目录的。 |
7
Rebron1900 OP @shixinyu 我试着放在 var 下,可以了,真是药到病除呀。
另外,我可以简历软链接到个人目录中吗? |
8
Rebron1900 OP @jason1121 懂了,谢谢大佬。
|
![]() |
9
amrice 47 天前 via Android
这不权限不足吗,看看 nginx 安装目录所属用户和用户组,然后 chown-R blog-data ,权限改 775 试试
|