【发布时间】:2014-04-30 10:30:54
【问题描述】:
我已经设置好 Nginx 并正确显示了测试页面。如果我尝试更改根路径,我会收到 403 Forbidden 错误,即使所有权限都相同。另外,nginx用户存在。
nginx.conf:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
index index.html index.htm;
server {
listen 80;
server_name localhost;
root /var/www/html; #changed from the default /usr/share/nginx/html
}
}
namei -om /usr/share/nginx/html/index.html
f: /usr/share/nginx/html/index.html
dr-xr-xr-x root root /
drwxr-xr-x root root usr
drwxr-xr-x root root share
drwxr-xr-x root root nginx
drwxr-xr-x root root html
-rw-r--r-- root root index.html
namei -om /var/www/html/index.html
f: /var/www/html/index.html
dr-xr-xr-x root root /
drwxr-xr-x root root var
drwxr-xr-x root root www
drwxr-xr-x root root html
-rw-r--r-- root root index.html
错误日志
2014/03/23 12:45:08 [错误] 5490#0: *13 open() “/var/www/html/index.html”失败(13:权限被拒绝),客户端: XXX.XX.XXX.XXX,服务器:localhost,请求:“GET /index.html HTTP/1.1”,主机:“ec2-XXX-XX-XXX-XXX.compute-1.amazonaws.com”
【问题讨论】:
-
tail日志文件/var/log/nginx/error.log;告诉我你看到了什么错误? -
已添加错误日志 - 抱歉,最初忘记添加 - 这是每个请求的唯一条目。 (我用 Xs 替换了 IP。似乎是预期的错误,不是吗?)
-
@Adam -
restorecon -r /var/www/将恢复/var/www/及以下的 SELinux 上下文。如果您从mv或cp从外部/var/www到内部/var/www,那么试试restorecon。我相信这是因为原始的 SELinux 上下文将遵循文档。然而,Kurt 或 Terry 的回答可能解决了这个问题。 -
@Adam - 这个选择的答案还有一些不足之处。它更像是一个观察和另一个问题,而不是一个答案。如果你重新审视问题的细节,我认为你应该选择一个不同的。
标签: nginx installation http-status-code-403