解决 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

重启机器即可

转载于:https://www.cnblogs.com/chinway/p/7356239.html

以上是关于解决 Nginx 403 forbidden的主要内容,如果未能解决你的问题,请参考以下文章

nginx 403 forbidden怎么解决

解决nginx的403错误

nginx “403 Forbidden” 错误的原因及解决办法

Nginx 403 Forbidden错误的解决方法

Nginx 出现 403 Forbidden 最终解决

nginx 403 问题解决