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网站服务如何配置防盗链(推荐)
Mar 31 Servers
如何在centos上使用yum安装rabbitmq-server
Mar 31 Servers
Nginx配置https原理及实现过程详解
Mar 31 Servers
nginx服务器的下载安装与使用详解
Aug 02 Servers
关于Nginx中虚拟主机的一些冷门知识小结
Mar 03 Servers
教你使用Jenkins集成Harbor自动发布镜像
Apr 03 Servers
Vscode中SSH插件如何远程连接Linux
May 02 Servers
tomcat正常启动但网页却无法访问的几种解决方法
May 06 Servers
永中文档在线转换预览基于nginx配置部署方案
Jun 10 Servers
Linux中sftp常用命令整理
Jun 28 Servers
nginx访问报403错误的几种情况详解
Jul 23 Servers
centos环境下nginx高可用集群的搭建指南
Jul 23 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求圆周率的简单实现方法
2016/05/30 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
2020/05/01 PHP
JavaScript中的闭包原理分析
2010/03/08 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
jquery中$.post()方法的简单实例
2014/02/04 Javascript
JavaScript学习笔记之内置对象
2015/01/22 Javascript
非常实用的12个jquery代码片段
2015/11/02 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
jquery实现多次上传同一张图片
2017/01/09 Javascript
微信小程序模版渲染详解
2018/01/26 Javascript
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
JavaScript修改注册表实例代码
2020/01/05 Javascript
D3.js 实现带伸缩时间轴拓扑图的示例代码
2020/01/20 Javascript
OpenLayers实现图层切换控件
2020/09/25 Javascript
Vue Elenent实现表格相同数据列合并
2020/11/30 Vue.js
Vue实现摇一摇功能(兼容ios13.3以上)
2021/01/26 Vue.js
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
Python学习笔记之os模块使用总结
2014/11/03 Python
深入学习Python中的装饰器使用
2016/06/20 Python
python中reload(module)的用法示例详解
2017/09/15 Python
解决pycharm工程启动卡住没反应的问题
2019/01/19 Python
python程序变成软件的实操方法
2019/06/24 Python
使用python进行广告点击率的预测的实现
2019/07/04 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
基于Python和PyYAML读取yaml配置文件数据
2020/01/13 Python
eDreams德国:南欧领先的在线旅游公司
2020/12/07 全球购物
PHP如何与mysql建立链接
2013/05/05 面试题
财产公证书格式
2014/04/10 职场文书
医学专业大学生求职信
2014/07/12 职场文书
重阳节活动总结
2014/08/27 职场文书
英文版辞职信
2015/02/28 职场文书
PyTorch的Debug指南
2021/05/07 Python
Python语言中的数据类型-序列
2022/02/24 Python
使用CSS定位HTML元素的实现方法
2022/07/07 HTML / CSS