Nginx解决403 forbidden的完整步骤


Posted in Servers onApril 01, 2021

网页显示 403 Forbidden

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

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

总结四种原因:

  1. SELinux没有关闭
  2. Nginx启动用户和工作用户不一致
  3. 网页所在的目录权限不对
  4. 缺少默认的首页

解决方案:

SELinux没有关闭

1.1 临时关闭SELinux,但是重启操作系统还会开启

setenforce=0

1.2 永久关闭SELinux

vim /etc/selinux/config

将SELINUX=enforcing 修改为 SELINUX=disabled 状态

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

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

修改Nginx 配置文件

vim /etc/nginx/nginx.conf

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

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

网页所在的目录权限问题

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

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

chmod -R 777 /web
chmod -R 777 /web/www

缺少默认的首页

4.1 权限配完了,访问首页还显示403 Forbidden?

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

到此这篇关于Nginx解决403 forbidden的文章就介绍到这了,更多相关Nginx解决403 forbidden内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
Nginx的rewrite模块详解
Mar 31 Servers
nginx如何将http访问的网站改成https访问
Mar 31 Servers
Nginx+SpringBoot实现负载均衡的示例
Mar 31 Servers
uwsgi+nginx代理Django无法访问静态资源的解决
May 10 Servers
解决使用了nginx获取IP地址都是127.0.0.1 的问题
Sep 25 Servers
Nginx防盗链与服务优化配置的全过程
Jan 18 Servers
Nginx虚拟主机的配置步骤过程全解
Mar 31 Servers
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
Apr 29 Servers
解决Git推送错误non-fast-forward的方法
Jun 25 Servers
Python安装及建立虚拟环境的完整步骤
Jun 25 Servers
windows10 家庭版下FTP服务器搭建教程
Aug 05 Servers
详解nginx.conf 中 root 目录设置问题
Apr 01 #Servers
小程序后台PHP版本部署运行 LNMP+WNMP
扩展多台相同的Web服务器
Apr 01 #Servers
Nginx安装完成没有生成sbin目录的解决方法
nginx location优先级的深入讲解
Mar 31 #Servers
Nginx反爬虫策略,防止UA抓取网站
Mar 31 #Servers
Mac环境Nginx配置和访问本地静态资源的实现
Mar 31 #Servers
You might like
浅析php与数据库代码开发规范
2013/08/08 PHP
php不使用插件导出excel的简单方法
2014/03/04 PHP
windwos下使用php连接oracle数据库的过程分享
2014/05/26 PHP
php给一组指定关键词添加span标签的方法
2015/03/31 PHP
Ubuntu下安装PHP的mongodb扩展操作命令
2015/07/04 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
jQuery技巧大放送 学习jquery的朋友可以看下
2009/10/14 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
IE的fireEvent方法概述及应用
2013/02/22 Javascript
js 对小数加法精度处理示例说明
2013/12/27 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
浅谈js的异步执行
2016/10/18 Javascript
JS中关于事件处理函数名后面是否带括号的问题
2016/11/16 Javascript
jQuery中each遍历的三种方法实例分析
2018/09/07 jQuery
解决vue attr取不到属性值的问题
2018/09/18 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
JS扁平化输出数组的2种方法解析
2019/09/17 Javascript
layui使用及简单的三级联动实现教程
2020/12/01 Javascript
使用wxPython获取系统剪贴板中的数据的教程
2015/05/06 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
Python IDLE入门简介
2017/12/08 Python
Python threading的使用方法解析
2019/08/28 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
Python字典生成式、集合生成式、生成器用法实例分析
2020/01/07 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
东南亚冒险旅行与活动:Adventoro
2019/10/16 全球购物
普通院校学生的自荐信
2013/11/27 职场文书
会计学专业自荐信
2014/06/25 职场文书
迎新春趣味活动方案
2014/08/24 职场文书
介绍信格式样本
2015/05/05 职场文书
民事上诉状范文
2015/05/22 职场文书
《所见》教学反思
2016/02/23 职场文书
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL
Golang 字符串的常见操作
2022/04/19 Golang