阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Nginx 403 forbidden的解决办法

234次阅读
没有评论

共计 2708 个字符,预计需要花费 7 分钟才能阅读完成。

以下是我的 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)下即可正常访问了。

Nginx 403 forbidden 的解决办法

CentOS 7 下 Nginx 服务器的安装配置  http://www.linuxidc.com/Linux/2017-04/142986.htm

CentOS 上安装 Nginx 服务器实现虚拟主机和域名重定向  http://www.linuxidc.com/Linux/2017-04/142642.htm

CentOS 6.8 安装 LNMP 环境(Linux+Nginx+MySQL+PHP)http://www.linuxidc.com/Linux/2017-04/142880.htm

Linux 下安装 PHP 环境并配置 Nginx 支持 php-fpm 模块  http://www.linuxidc.com/Linux/2017-05/144333.htm

Nginx 服务的 SSL 认证和 htpasswd 认证  http://www.linuxidc.com/Linux/2017-04/142478.htm

Ubuntu 16.04 上启用加密安全的 Nginx Web 服务器  http://www.linuxidc.com/Linux/2017-07/145522.htm

Linux 中安装配置 Nginx 及参数详解  http://www.linuxidc.com/Linux/2017-05/143853.htm

Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

CentOS 7.2 下 Nginx+PHP+MySQL+Memcache 缓存服务器安装配置  http://www.linuxidc.com/Linux/2017-03/142168.htm

CentOS6.9 编译安装 Nginx1.4.7  http://www.linuxidc.com/Linux/2017-06/144473.htm

Nginx 的详细介绍 :请点这里
Nginx 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-08/146084.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2708字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中