• Nginx 403 forbidden的解决办法


    以下是我的Nginx配置:

    user  root; 
    worker_processes  1;
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        #access_log  logs/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
    
        server {
            listen       80;
            server_name  localhost;
            #autoindex    on; #是否允许访问目录
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                #root   html;
                root   /home/ftpuser/taotao; #自定义访问的根目录
                index  index.html index.htm;
                #autoindex    on; #是否允许访问目录
            }
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    }

    解决办法一(不推荐)

    在nginx.conf配置文件对应的位置添加以下两句,表示使用root角色访问,并且允许访问目录。autoindex默认是off。可是这种方式不好,因为别人可以看到自己服务器的目录结构。

    user root;
    
    autoindex on; #是否允许访问目录

    注:配置完成之后需要重启nginx服务,方能生效。

    [root@localhost sbin]# ./nginx -s reload

    解决办法二(推荐)

    方法二的配置文件即为开篇所写的配置文件:

    user  root; 
    worker_processes  1;
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        #access_log  logs/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
    
        server {
            listen       80;
            server_name  localhost;
            #autoindex    on; #是否允许访问目录
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                #root   html;
                root   /home/ftpuser/taotao; #自定义访问的根目录
                index  index.html index.htm;
                #autoindex    on; #是否允许访问目录
            }
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    }

    按照上述配置文件配置完成之后重启nginx服务

    [root@localhost sbin]# ./nginx -s reload

    发现已经可以访问自定义根目录文件夹(/home/ftpuser/taotao)下面的具体文件了,但是访问根路径的时候还是显示403 forbidden的错误。

    这是因为在自定义访问的根目录下(/home/ftpuser/taotao)缺少nginx启动后默认访问的index.html文件,将index.html文件复制一份到根目录(/home/ftpuser/taotao)下即可正常访问了。

  • 相关阅读:
    oracle 存储过程 游标
    SQL DateTime查询与格式
    Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
    C#命名规范
    (转)javascript——各种网页常用小技巧
    (转)WEB免费打印控件推荐
    JS倒计时代码
    使用重写 ajax 用的一些基础东西
    (转)动态加载CSS
    (转)用Javascript获取页面元素的位置
  • 原文地址:https://www.cnblogs.com/Dylansuns/p/7290824.html
Copyright © 2020-2023  润新知