目录
一.报错
系统:CentOS Stream release 9
执行脚本报错,报错内容:
打开nginx页面提示:403 Forbidden
二.排查
按照百度搜到的方法一步一步排查
403报错:客户端请求没有权限
1.权限问题
(1)目录权限
修改目录权限,未解决问题
sudo chmod -R 755 /vdisk
(2)修改用户
默认nginx.conf配置文件里面的用户是nginx,但是启动nginx服务是root用户,需要修改成root,未解决问题
vim /etc/nginx/nginx.conf
user nginx;
#改为
user root;
2.缺少索引文件
缺少index.html或者index.php文件,是nginx.conf配置文件里配置了"index index.html index.htm"这行配置,但是我没有这行配置,先在web根目录创建一下index.html,也未解决问题
server {
listen 60443 ssl;
server_name _;
server_tokens off;
index index.html index.php;
#默认有这条配置,需要在web根目录下存在index.html或index.php文件
#但是我这的环境没有这条配置,我依然在web根目录创建了index.html文件,还是提示403
ssl_certificate /root/ssl/server.crt;
ssl_certificate_key /root/ssl/server.key;
location /{
root /vdisk;
}
}
3.检查selinux状态
selinux是关闭的,防火墙也是关闭的,系统也进行了重启,未解决问题
/usr/sbin/sestatus -v
4.修改server_name
修改nginx.conf配置文件里server_name为localhost,未解决问题
server {
listen 60443 ssl;
server_name localhost;
#没有域名的话,写_就可以,但是百度的方法说可以改成localhost试下,没解决问题
server_tokens off;
ssl_certificate /root/ssl/server.crt;
ssl_certificate_key /root/ssl/server.key;
location /{
root /vdisk;
}
}
5.查看日志
查看日志有下面这个报错,百度了一下发现是目录索引禁止的错误,需要在nginx.conf配置文件里添加索引指令,允许目录索引
vim /var/log/nginx/error.log
2024/04/26 17:21:06 [error] 163008#163008: *1 directory index of "/vdisk/" is forbidden, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "10.0.20.9"
三.解决
添加索引指令后,可以成功打开web界面,会列出所有的资源索引
server {
listen 60443 ssl;
server_name localhost;
server_tokens off;
ssl_certificate /root/ssl/server.crt;
ssl_certificate_key /root/ssl/server.key;
location /{
root /vdisk;
autoindex on;
autoindex_format html;
autoindex_exact_size off;
autoindex_localtime on;
charset utf-8,gbk;
#上面这四条是添加索引指令
}
}
四.备注
1.nginx配置文件
不建议直接改nginx.conf配置文件,可以在/etc/nginx/conf.d/目录下新建个配置文件进行操作
比如:
vim /etc/nginx/conf.d/server.conf
2.错误码含义
End