zoukankan      html  css  js  c++  java
  • 一个奇葩常见的问题 nginx 403 forbidden错误

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

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

    一、权限配置不正确

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

    二、目录索引设置错误(index指令配置)

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

    于是配置成index index.html index.htm index.php;

    然后nginx -s relaod 重启一下就好了。

  • 相关阅读:
    C#单例模式详解
    Unity基础知识学习笔记二
    Unity基础知识学习笔记一
    pat 团体赛练习题集 L2-007. 家庭房产
    JOBDU 题目1100:最短路径
    POJ 2492 A Bug's Life
    pat 团体赛练习题集 L2-008. 最长对称子串
    pat 团体赛练习题集 L2-006. 树的遍历
    POJ 1511 Invitation Cards
    codevs——1003——电话连线
  • 原文地址:https://www.cnblogs.com/smallSevens/p/5714690.html
Copyright © 2011-2022 走看看