Nginx出现403 Forbidden报错解决办法
之前 AWS EC2 上安装 nginx 时 ,访问一直正常 , 直到在物理机和 GCP
上使用时就会出现 403 Forbidden
的情况 , 查看 nginx 日志 , 默认路径为 /var/log/nginx/error.log
, 发现报错内容为 Permission denied
.
于是谷歌解决办法 . CSDN 此篇文章分析的比较完整 , 现简单总结如下 .
1. 由于启动用户和 nginx 工作用户不一致所致
查看命令 ps aux | grep "nginx: worker process" | awk'{print $1}'
如若不一致 , 则要将 nginx.conf
中的 user
改为和启动用户一致
1 | user nginx; |
2. 缺少 index.html
或者 index.php
文件
1 | server { |
如果在 /data/www/
下没有 index.php
或 index.html
时 就会报 403 forbidden
3. 权限问题 , 若 nginx 没有 web 目录的操作权限 , 也会出现403错误
解决办法: 修改 web 目录的读写权限 , 或者是把nginx的启动用户改成目录的所属用户 , 重启 nginx 解决
1 | chmod -R 777 /data |
4. SELinux 设置为开启的原因
查看当前 selinux 状态
cat /etc/selinux/conf
将状态改为disabled
1 | SELINUX=disabled |
重启 reboot
生效
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Halcyon Days!