nginx跨域报504错误(nginx访问403报错)
使用Nginx做动静分离,web端打不开图片
2、处理思路
3、处理过程
1)、第一种:nginx的启动用户问题,Permission denied
查看nginx的错误日志,这种错误的原因有很多,比如文件缺少、启动用户问题
查看nginx的启动用户,执行ps -ef | grep nginx,可以查看到启动用户是root
而nginx的默认工作用户是nobody,需要将nginx.conf的user改为和启动用户一致
修改后保存,重启nginx服务即可
/usr/local/nginx/sbin/nginx -s reload
2)、第二种:缺少index.html文件
缺少index.html或者index.php文件,就是配置文件中index index.html index.php这行指定的文件
server { listen 80; server_name localhost; index index.php index.html; root / var/www; }
如果在/var/www目录没有index.php,index.html的时候,直接访问域名,就会找不到文件,会报403
3)、第三种:访问目录权限问题
如果nginx没有访问目录(比如/var/www)的读写权限,也会出现403的错误
解决方法:修改web目录的读写权限
chmod -R 755 /var/www
4)、第四种:SELINUX设置问题
本机SeLinux为开启enabled状态也会影响到nginx的访问
- 首先使用getenforce命令查看,如下图所示,SELinux为开启状态
[root@localhost ~]# getenforce
Enabled
2.如何关闭?
临时关闭
setenforce 0 ##设置SELinux 成为permissive模式
永久关闭
修改/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled
5)、第五种:目录索引问题
1、查看nginx的报错日志,看到有报错为禁止以/opt目录作为索引
2、修改配置文件,添加autoindex on;打开目录浏览功能
3、重启nginx服务
4、访问成功
1.4、案例总结
访问Nginx服务上报403,一般都是以上几种情况,不同的情况需要不同的处理方法
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com