Nginx 403 forbidden 错误的原因及解决方法
Posted 看那年十七
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx 403 forbidden 错误的原因及解决方法相关的知识,希望对你有一定的参考价值。
nginx 403 forbidden 错误的原因及解决方法
一、由于启动用户和nginx工作用户不一致所致
1.1查看nginx的启动用户,发现是nginx,而为是用root启动的
[root@iZwz96xkbmh1v1n08cvb5dZ /]# ps aux|grep nginx
root 2773 0.0 0.0 9068 844 ? Ss 13:56 0:00 nginx: master process /usr/sbin/nginx
nginx 2774 0.0 0.1 9476 2360 ? S 13:56 0:00 nginx: worker process
root 2916 0.0 0.0 221460 836 pts/0 R+ 13:59 0:00 grep --color=auto nginx
1.2将nginx.config的user改为和启动用户一致,
命令:vim etc/nginx.conf
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user root; //就是这里
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
1.3 也可以使用如下命令直接查看
ps aux|grep nginx
[root@iZwz96xkbmh1v1n08cvb5dZ nginx]# ps aux|grep nginx
root 2983 0.0 0.0 9068 848 ? Ss 14:02 0:00 nginx: master process /usr/sbin/nginx
root 2984 0.0 0.1 9476 2356 ? S 14:02 0:00 nginx: worker process
root 2986 0.0 0.0 221460 848 pts/0 R+ 14:02 0:00 grep --color=auto nginx
二、缺少index.html,就是配置文件中index index.html index.htm这行中的指定的文件。
server
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location /
root /root/xiaoaodi/index/dist;
index index.html;
如果在/data/www/下面没有index.html的时候,直接文件,会报403 forbidden。
三、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。
解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决
-
chmod -R 777 /data
-
chmod -R 777 /data/www/
-
[root@iZwz96xkbmh1v1n08cvb5dZ data]# chmod 777 www [root@iZwz96xkbmh1v1n08cvb5dZ data]# ls -l total 4 drwxrwxrwx 3 root root 4096 Apr 10 14:26 www
访问Nginx时出现‘’403Forbidden‘’的原因
Nginx配置文件:
/application/nginx/conf/nginx.conf
1、站点目录没有Nginx用户的访问权限
2、配置文件里没有配置默认首页参数(index.html),没有以下内容。
server { listen 80; server_name www.chainwaytsp.cn; location / { root html/webApi; index index.html index.htm; 没有类似的这一行内容 auth_basic "badboy training"; auth_basic_user_file /application/nginx/conf/htpasswd; } access_log logs/access_cn.log main; }
3、配置文件里有配置默认首页参数,但是站点目录下没有配合文件里指定的参数(物理文件index.html)
/application/nginx/html/webApi/index.html 没有这个文件
以上两种情况可以用一个参数解决 autoindex on;当找不到首页文件时展示目录结构。不建议使用这个参数,除非有需求。
4、配置文件里设置了allow、deny等权限控制,导致客户端没有访问权限
server { listen 80; server_name www.chainwaytsp.cn; location / { root html/webApi; index index.html index.htm; allow 192.168.1.0/24; deny all; auth_basic "badboy training"; auth_basic_user_file /application/nginx/conf/htpasswd; } access_log logs/access_cn.log main; }
本文出自 “jhyeliu” 博客,请务必保留此出处http://jhyeliu.blog.51cto.com/13354145/1981213
以上是关于Nginx 403 forbidden 错误的原因及解决方法的主要内容,如果未能解决你的问题,请参考以下文章
无法找到 403 Forbidden 错误的原因:Nginx Daphne Django