浏览Nginx出现状态码为403禁止和故障模拟的原因。
1)nginx配置文件没有默认主页主参数或者主页文件不在网站文件目录中
index index.php index.html index.htm;难题模拟示例:
[root@www extra]# cat www.conf #www virtualhost by oldboy server { listen 80; server_name www.etiantian.org; location / { root html/www; #index index.html index.htm;#<==注解主页文档配备 } access_log off; } [root@www extra]# ../../sbin/nginx -sreload [root@www extra]# tail -1 /etc/hosts 10.0.0.8 www.etiantian.orgbbs.etiantian.org blog.etiantian.org etiantian.org [root@www extra]# ll ../../html/www/ 总使用量 12 drwxr-xr-x 2 root root 4096 4月 15 14:20 blog -rw-r--r-- 1 root root 4 4月 17 17:11index.html #<==存有主页文档 drwxr-xr-x 2 root root 4096 4月 15 14:19 oldboy [root@www extra]# curl -I -s 10.0.0.8|head-1 HTTP/1.1 403 Forbidden #<==难题是,Nginx沒有特定主页文档的主要参数,因而浏览Nginx时不容易把index.html当主页,因此报403不正确。2)index.phpindex.htmlindex.htm网站文件目录下的配置文件中没有具体的homepage文档。
[root@www extra]# cat www.conf #www virtualhost by oldboy server { listen 80; server_name www.etiantian.org; location / { root html/www; index index.htmlindex.htm; #<==配备主页文档配备 } access_log off; } [root@www extra]# ../../sbin/nginx -sreload [root@www extra]# rm -f ../../html/www/index.html#<==删掉物理学主页文档 [root@www extra]# curl -I -s 10.0.0.8|head-1 HTTP/1.1 403 Forbidden提醒:上述1)和2)有一个主要参数可以处理这个问题,即:
autoindex on; [root@www extra]# cat www.conf #www virtualhost by oldboy server { listen 80; server_name www.etiantian.org; location / { root html/www; autoindex on; #<==当找不着主页文档时,会展现文件目录构造,这一作用一般不能用除非是有要求。 } access_log off; }实际效果如下:
3)网站文件目录或内部系统文件没有Nginx客户访问限制。
[root@www extra]# echo test >../../html/www/index.html [root@www extra]# chmod 700../../html/www/index.html #<==设定700让nginx客户没有权利载入 [root@www extra]# ls -l ../../html/www/index.html -rwx------ 1 root root 5 4月 17 17:15../../html/www/index.html [root@www extra]# curl -I -s 10.0.0.8|head-1 HTTP/1.1 403 Forbidden #<==403不正确 [root@www extra]# chmod 755../../html/www/index.html #<==设定755让nginx客户有权利载入 [root@www extra]# curl -I -s 10.0.0.8|head-1 HTTP/1.1 200 OK #<==200 OK了4)nginx配置文件中设置了允许、拒绝等权限管理,导致手机客户端在没有管理权限的情况下浏览。
[root@www extra]# cat www.conf #www virtualhost by oldboy server { listen 80; server_name www.etiantian.org; location / { root html/www; index index.html index.htm; allow 192.168.1.0/24; deny all; } access_log off; } [root@www extra]# curl -I -s 10.0.0.8|head-1 HTTP/1.1 200 OK #<==设定755让nginx客户有权利载入 [root@www extra]# ../../sbin/nginx -sreload [root@www extra]# curl -I -s 10.0.0.8|head-1 HTTP/1.1 403 Forbidden提醒:403问题不是nginx独有的,apache服务项目的禁403问题也是很多问题造成的,只是主要参数的关键点略有不同,见http://oldboy.blog.51cto.com/2561410/581383.
本文来自老男孩新小说内容预告片,:老男孩出版书籍交流Q群339128815226199808
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)