解决 Nginx 403 forbidden
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决 Nginx 403 forbidden相关的知识,希望对你有一定的参考价值。
参考技术A 本来用 vue 简单的写了一个小工具,直接上线了,配置完域名和 https 本来想着可以成功访问了,结果出现了 403 错误页面。查找资料得知几种解决方法,记录一下。使用下面的命令,查看nginx的启动用户
将nginx.config的user改为和启动用户一致,即开头的 user 后面的名称
如果不想更改用户组或者不方便更改,可以尝试更改访问目录的拥有者及用户组
此种方法与下文的修改权限有别,有些情况下即使修改权限也无法访问成功,必须更改用户组
以此配置为例:
当路径 /data/www/ 下不存在 index.php 或 index.html 的时候会报 403 错误。
如果nginx没有web目录的操作权限,也会出现403错误,修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决
修改命令:
注意一定至少要保证读的权限
SELinux 设置为开启状态(enabled)的原因
操作方法:
看当前 selinux 的状态
将SELINUX=enforcing 修改为 SELINUX=disabled 状态。
重启生效。reboot。
我在折腾权限之后,还是不行,最后才发现我的路径写错了...
所以,如果配置有问题,还是先检查一下自己的设置吧。
Nginx 出现 403 Forbidden 最终解决
Nginx 出现 403 Forbidden 最终解决
步骤一:
检查目录权限。权限不足的就加个权限吧。
例子:chmod -R 755 / var/www
步骤二:
打开nginx.conf
例子:vim /etc/nginx/nginx.conf
把 user 用户名 改为 user root 或 其它有高权限的用户名称即可
步骤三:
如果是centos,看一下selinux是否关闭了
查看SELinux状态:
1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2、getenforce ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
以上是关于解决 Nginx 403 forbidden的主要内容,如果未能解决你的问题,请参考以下文章