一个奇葩常见的问题 nginx 403 forbidden错误

今天安装dedecms,配置Nginx,而后生成一键生成静态页面,而后就没有而后了,全部栏目页面都显示nginx 403 forbidden。php

通常来讲nginx 的 403 Forbidden errors 表示你在请求一个资源文件可是nginx不容许你查看。
403 Forbidden 只是一个HTTP状态码,像404,200同样不是技术上的错误。
哪些场景须要返回403状态码的场景?
1.网站禁止特定的用户访问全部内容,例:网站屏蔽某个ip访问。
2.访问禁止目录浏览的目录,例:设置autoindex off后访问目录。
3.用户访问只能被内网访问的文件。
以上几种常见的须要返回 403 Forbidden 的场景。

1、权限配置不正确html

不该该啊,查看了一下nginx.conf头部使用use nginx。网上不少人说改为root也是醉了,其实栏目目录对于nginx用户是可读的,这根本不是问题所在。nginx

2、目录索引设置错误(index指令配置)网站

因为dedecms是PHP程序,当时也没注意配置以下
index index.php;
而后悲剧的事情就发生了,栏目下根本就没有php文件啊,只有index.html。
当访问该网站的时,nginx 会按照index.php 的前后顺序(固然这里就一个)在根目录中查找文件。若是这个文件不存在(显然不存在啊),那么nginx就会返回403 Forbidden。htm

因而配置成index index.html index.htm index.php;索引

而后nginx -s relaod 重启一下就行了。ip

相关文章
相关标签/搜索