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使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
Apr 04 Servers
Nginx四层负载均衡的配置指南
Jun 11 Servers
Nginx防盗链与服务优化配置的全过程
Jan 18 Servers
深入解析Apache Hudi内核文件标记机制
Mar 31 Servers
Vertica集成Apache Hudi重磅使用指南
Mar 31 Servers
CentOS7和8下安装Maven3.8.4
Apr 07 Servers
tomcat下部署jenkins的方法
May 06 Servers
Nginx 常用配置
May 15 Servers
使用Nginx+Tomcat实现负载均衡的全过程
May 30 Servers
使用Apache Camel表达REST服务的方法
Jun 10 Servers
nginx之queue的具体使用
Jun 28 Servers
Nginx使用ngx_http_upstream_module实现负载均衡功能示例
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导入Excel到MySQL的方法
2011/04/23 PHP
前端必学之PHP语法基础
2016/01/01 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
php版微信小店调用api示例代码
2016/11/12 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
基于jquery的Repeater实现代码
2010/07/17 Javascript
两种常用的javascript数组去重方法思路及代码
2013/03/26 Javascript
批量实现面向对象的实例代码
2013/07/01 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
jQuery中attr()方法用法实例
2015/01/05 Javascript
jQuery解析json数据实例分析
2015/11/24 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
bootstrap模态框消失问题的解决方法
2016/12/02 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
2017/01/20 Javascript
spirngmvc js传递复杂json参数到controller的实例
2018/03/29 Javascript
微信小程序使用map组件实现解析经纬度功能示例
2019/01/22 Javascript
vue实现微信获取用户信息的方法
2019/03/21 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
详解在Python的Django框架中创建模板库的方法
2015/07/20 Python
Python实现多线程抓取妹子图
2015/08/08 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
python 高效去重复 支持GB级别大文件的示例代码
2018/11/08 Python
selenium+python自动化测试之鼠标和键盘事件
2019/01/23 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
2020/05/16 Python
django使用多个数据库的方法实例
2021/03/04 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
墨西哥巴士车票在线购买:ClickBus
2018/03/27 全球购物
护士个人简历自荐信
2013/10/18 职场文书
婚前协议书范本
2014/10/27 职场文书
redis不能访问本机真实ip地址的解决方案
2021/07/07 Redis
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang
Elasticsearch 批量操作
2022/04/19 Python