Nginx 403 forbidden的解决办法
Posted 闲情偶寄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)下即可正常访问了。
以上是关于Nginx 403 forbidden的解决办法的主要内容,如果未能解决你的问题,请参考以下文章
nginx “403 Forbidden” 错误的原因及解决办法
Nginx报错403 forbidden (13: Permission denied)的解决办法