网站呈现403 forbidden怎样处理
网站呈现403 forbidden怎样处理?403 forbidden是甚么意义?403 Forbidden 是HTTP和谈中的一个形态码(Status Code)。能够简朴的了解为出有权限会见此站。Nginx网站呈现403 forbidden的本果及毛病模仿重现的处理!
1、本果之一是 Nginx 设置文件的 index 参数里出有指定默许尾页文件名,上面是 Nginx 设置文件里指定默许尾页的参数。
index index.html index.htm; #<==差别的尾页文件用空格分开,按次第死效
成绩模仿示例:
[[email protected] ~]# cd /application/nginx/conf/extra
[[email protected] extra]# cat conf
# virtualhost by oldboy
server {
listen 80;
server_name etiantian;
location / {
root html/;
#index index.html index.htm; #<==正文尾页文件参数设置
}
access_log off;
}
[[email protected] extra]# ../../sbin/nginx -s reload
[[email protected] extra]# tail -1 /etc/hosts
10.0.0.8 etiantian bbs.etiantian blog.etiantian etiantian
[[email protected] extra]# ll ../../html//
总用量 12
drwxr-xr-x 2 root root 4096 4月 15 14:20 blog
-rw-r--r-- 1 root root 4 4月 17 17:11 index.html #<==存正在尾页文件
drwxr-xr-x 2 root root 4096 4月 15 14:19 oldboy
[[email protected] extra]# curl -I -s 10.0.0.8|head -1
HTTP/1.1 403 Forbidden
#<==成绩是,Nginx出有指定尾页文件的参数,因而会见Nginx时没有会把index.html当尾页,以是报403毛病。
2、本果之两是网站站面目次下出有设置文件 index 参数里指定的尾页文件 index.html 或 index.htm 。
成绩示例:
[[email protected] extra]# cat conf
# virtualhost by oldboy
server {
listen 80;
server_name etiantian;
location / {
root html/;
index index.html index.htm; #<==设置尾页文件设置
}
access_log off;
}
[[email protected] extra]# ../../sbin/nginx -s reload
[[email protected] extra]# rm -f ../../html//index.html
#<==删除站面目次下的物理尾页文件
[[email protected] extra]# curl -I -s 10.0.0.8|head -1
HTTP/1.1 403 Forbidden
#<==成绩是,Nginx有指定尾页文件的参数,而且也指定了尾页文件,可是尾页文件其实不存正在,以是报403毛病。
以上两个 403 的本果除准确设置处理中,借能够经由过程一个参数去处理,便是:
autoindex on; #<==当找没有到尾页文件时,会展现目次构造,那个功用普通用于下载,比方:阿里云镜像站面。
示比方下:
[[email protected] extra]# cat conf
# virtualhost by oldboy
server {
listen 80;
server_name etiantian;
location / {
root html/;
autoindex on; #<==当找没有到尾页文件时,会展现目次构造,那个功用普通用于下载,比方:阿里云镜像站面。
}
access_log off;
}
当没有设置 index 尾页时,结果以下:
Nginx网站呈现403 forbidden的本果及毛病模仿重现
3、本果之三是站面目次或内部的法式文件出有 Nginx 的用户会见权限。
[[email protected] extra]# echo test > ../../html//index.html
[[email protected] extra]# chmod 700 ../../html//index.html
#<==设置700让nginx用户无权读与
[[email protected] extra]# ls -l ../../html//index.html
-rwx------ 1 root root 5 4月 17 17:15 ../../html//index.html
[[email protected] extra]# curl -I -s 10.0.0.8|head -1
HTTP/1.1 403 Forbidden #<==403毛病
[[email protected] extra]# chmod 755 ../../html//index.html
#<==设置755让nginx用户有权读与
[[email protected] extra]# curl -I -s 10.0.0.8|head -1
HTTP/1.1 200 OK
#<==200 OK了
4、本果之四是 Nginx 设置文件中设置 allow 、 deny 等权限掌握,招致客户端出有出权限会见。
[[email protected] extra]# cat conf
# virtualhost by oldboy
server {
listen 80;
server_name etiantian;
location / {
root html/;
index index.html index.htm;
allow 192.168.1.0/24;
deny all;
}
access_log off;
}
[[email protected] extra]# curl -I -s 10.0.0.8|head -1
HTTP/1.1 200 OK
#<==设置755让nginx用户有权读与
[[email protected] extra]# ../../sbin/nginx -s reload
[[email protected] extra]# curl -I -s 10.0.0.8|head -1
HTTP/1.1 403 Forbidden
提醒:上述呈现 403 毛病的成绩其实不是 Nginx 才有, Apache 效劳的 Forbidden 403 成绩一样也是那几个成绩招致的,只是差别的硬件的参数细节略有区分罢了。
相关信息
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|