Nginx解决403 forbidden的完整步骤

网络技术 itxz 1个月前 (10-29) 23次浏览 0个评论

网页显示 403 Forbidden有很多的原因,我们可以通过错误日志查看分析:

Nginx(yum 安装日志一般在/var/log/nginx/error.log) 错误日志显示

open() "/web/www/one.txt" failed (13: Permission denied), client: 192.168.1.110, server: itxz.com, request: "GET /one.txt HTTP/1.1", host: "itxz.com"

造成403错误常见有四种原因:

1.SELinux没有关闭

我们可以运行

[root@localhost ~]#setenforce=0

将SELinux临时关闭,如果要永久关闭SELinux
可以编辑

[root@localhost ~]#vim /etc/selinux/config
将SELINUX=enforcing 修改为 SELINUX=disabled 状态

2.Nginx启动用户和工作用户不一致

[root@localhost ~]#ps aux | grep "nginx: worker process" | awk '{print $1}'
[root@localhost ~]#nobody
[root@localhost ~]#root

修改Nginx 配置文件

[root@localhost ~]#vim /etc/nginx/nginx.conf
 

将 user nobody; 修改为 user root; 重启Nginx。

注意:Nginx的启动用户和工作用户可以不一致,但是要配好网页目录的权限,让工作用户有访问网页目录的权限

3.网页所在的目录权限不对

网页根目录要用x权限(也就是可以cd进去),网页所在的父级目录要有r(可读权限)

简单粗暴(不推荐,不安全,但是效果明显):

[root@localhost ~]#chmod -R 777 /web
[root@localhost ~]#chmod -R 777 /web/www

4.缺少默认的首页

网页根目录提供一个默认的首页:index.html

遇到问题,可以针对性地排查,查看错误日志分析后解决问题。


IT学者 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Nginx解决403 forbidden的完整步骤
喜欢 (0)

您必须 登录 才能发表评论!