【发布时间】:2020-03-26 04:14:23
【问题描述】:
我已经在 CentOS 7 64bit 中安装了 Nginx,使用命令 yum install nginx 一切顺利,直到我不更改默认配置。
但是当我想将根目录更改为conf.d/default.conf 中的某个其他位置时,例如:/home/ftpuser
location / {
root /home/ftpuser;
index index.html;
}
和nginx.conf中的用户到ftpuser
user ftpuser;
其中ftpuser是普通用户,主目录在/home位置,但是Nginx返回403错误。即使我在/home 位置创建了一个新的test 目录,权限为777,Nginx 仍然返回403。
然后我把用户从ftpuser改成rootuser,问题依旧存在。
然后我将/home/fptuser文件夹的权限改为777 by:chmod 777 ftpuser,但问题依旧存在。
查了很多,给了Nginx最高权限,为什么还是返回403?
如果有人知道,请告诉我原因和解决方法!
Nginx 版本: 1.17.6
更新: 错误日志:
2019/11/30 20:39:19 [错误] 2195#2195: *10 open() “/home/ftpuser/index.html”失败(13:权限被拒绝),客户端: 192.168.133.1,服务器:localhost,请求:“GET / HTTP/1.1”,主机:“192.168.133.134”
【问题讨论】:
-
@RichardSmith 我更新了问题,错误日志显示权限问题。
-
@emix 我知道,但我不想禁用 SElinux。由于安全问题,这不是一个很好的解决方法。
-
这不是一个编程问题,而是严格与服务器相关的。这是一个 SElinux 问题。您可以在日志中找到更多详细信息。
-
@emix 是的,这就是为什么我使用 Nginx 和 centos7 标签,而不是 java 或 c++ 等。那么如何解决这个问题,禁用 SElinux 不是解决方案。
-
@emix 错误日志显示了上述问题中的消息。