Nginx 403 forbidden 错误的原因及解决方法

时间:2025-03-23 10:34:47

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将的user改为和启动用户一致,

命令:vim etc/

# For more information on configuration, see:
#   * Official English Documentation: /en/docs/
#   * Official Russian Documentation: /ru/docs/

user root; //就是这里
worker_processes auto;
error_log /var/log/nginx/;
pid /run/;

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 这行中的指定的文件。

 server {
        listen       80;
        listen       [::]:80;
        server_name  _;
        root         /usr/share/nginx/html;
    
        # Load configuration files for the default server block.
        include /etc/nginx//*.conf;

        location / {
        root /root/xiaoaodi/index/dist;
        index ;
        }

如果在/data/www/下面没有的时候,直接文件,会报403 forbidden。

三、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。

解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决

  1. chmod -R 777 /data

  2. chmod -R 777 /data/www/

  3. [root@iZwz96xkbmh1v1n08cvb5dZ data]# chmod 777 www
    [root@iZwz96xkbmh1v1n08cvb5dZ data]# ls -l
    total 4
    drwxrwxrwx 3 root root 4096 Apr 10 14:26 www