分类 标签 存档 程序员漫画 黑壳相关站点 订阅 搜索

Nginx 造成 403 forbidden 的几种原因?

344 浏览0 评论

本文由黑壳网原创

本文章来源nginx 造成 403 forbidden 的几种原因?~黑壳网

壳叔搞笑段子~
老婆:“亲爱的,如果我再不减肥你会不会抛弃我?”

老公:“并不会。”

老婆:"亲爱的你真好!"

老公:"并不是,是我抛不动。"

今天不知道为什么,这几天后台更新一篇文章一直不能更新,也比较忙,没时间处理,就在今天自己动手处理了这个问题,问题是 403 Forbidden 大概能看的出来 Forbidden 是禁止的意思,动手百度一下,我大概清楚是哪里出问题了。首先先排除 Tomcat,剩下就是端口转发服务出现问题,然后我在搜索一下 nginx 403 forbidden ,基本上就是说明 nginx 权限的问题。

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

网络可行的解决方案


1、权限配置不正确
这个是 nginx 出现 403 forbidden 最常见的原因。
为了保证文件能正确执行,nginx 既需要文件的读权限,又需要文件所有父目录的可执行权限。
例如,当访问/usr/local/nginx/html/image.jpg 时,nginx 既需要 image.jpg 文件的可读权限,也需要/,/usr,/usr/local,/usr/local/nginx,/usr/local/nginx/html 的可以执行权限。
解决办法:设置所有父目录为 755 权限,设置文件为 644 权限可以避免权限不正确。


2、root 授权
在/conf/nginx.conf 头部加入一行

user root;

重启 nginx,一般问题就解决了,壳叔比较懒~,所以默认采用了第二个方法。

黑壳博客 blog.bhusk.com

E-mail:keshu@bhusk.com

本文由 黑壳博客的壳叔 创作或转载,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。

可自由转载、引用,但需署名作者且注明文章

评论  
留下你的脚步
推荐阅读