第二十章 Nginx 报错: 403 forbidden
对于运维来说,Nginx 报错: 403 forbidden,首先会想到权限问题,如果权限没有问题,那还有什么错误会报403 forbidden呢?
一权限问题
三步走:
#1.检查nginx.conf的user 是否为root;
#2.检查文件所属目录是否有权限
#3.检查nginx程序目录权限
二、Selinux没关(最为意想不到)
今天部署生产环境,发现一直报错:403 forbidden
最后查看selinux发现selinux状态为:
[root@mccann-dbh /data]$ getenforce
enforcing
修改selinux状态:
# 临时修改
[root@mccann-dbh /data]$ setenforce 0
[root@mccann-dbh /data]$ getenforce
permissive
#永久修改
[root@mccann-dbh /data]$ vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
重载nginx,发现可以正常访问了。
三缺少索引文件
1.缺少index.html文件
server {
listen 80;
server_name http://dbhh5.mccann.dataxbusiness.com/;
index index.html;
root /data/webproject/dbhh5;
如果在/data/webproject/dbhh5下面没有index.php,index.html的时候,直接访问域名,找不到文件,会报403 forbidden
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库