網(wǎng)站出現(xiàn)403 forbidden怎么解決?如何解決網(wǎng)站上出現(xiàn)403 forbidden?網(wǎng)站上出現(xiàn)403 forbidden要怎樣解決?網(wǎng)站上出現(xiàn)403 forbidden要如何解決?錯(cuò)新站長(zhǎng)網(wǎng)給你解答。
網(wǎng)站出現(xiàn)403 forbidden怎么解決?403 forbidden是什么意思?403 Forbidden 是HTTP協(xié)議中的一個(gè)狀態(tài)碼(Status Code)。可以簡(jiǎn)單的理解為沒(méi)有權(quán)限訪(fǎng)問(wèn)此站。Nginx網(wǎng)站出現(xiàn)403 forbidden的原因及故障模擬重現(xiàn)的解決!
1、原因之一是 Nginx 配置文件的 index 參數(shù)里沒(méi)有指定默認(rèn)首頁(yè)文件名,下面是 Nginx 配置文件里指定默認(rèn)首頁(yè)的參數(shù)。
index index.html index.htm; #<==不同的首頁(yè)文件用空格分隔,按順序生效
問(wèn)題模擬示例:
[root@www ~]# cd /application/nginx/conf/extra
[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; #<==注釋首頁(yè)文件參數(shù)配置
}
access_log off;
}
[root@www extra]# ../../sbin/nginx -s reload
[root@www extra]# tail -1 /etc/hosts
10.0.0.8 www.etiantian.org bbs.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:11 index.html #<==存在首頁(yè)文件
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
#<==問(wèn)題是,Nginx沒(méi)有指定首頁(yè)文件的參數(shù),因此訪(fǎng)問(wèn)Nginx時(shí)不會(huì)把index.html當(dāng)首頁(yè),所以報(bào)403錯(cuò)誤。
2、原因之二是網(wǎng)站站點(diǎn)目錄下沒(méi)有配置文件 index 參數(shù)里指定的首頁(yè)文件 index.html 或 index.htm 。
問(wèn)題示例:
[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; #<==配置首頁(yè)文件配置
}
access_log off;
}
[root@www extra]# ../../sbin/nginx -s reload
[root@www extra]# rm -f ../../html/www/index.html
#<==刪除站點(diǎn)目錄下的物理首頁(yè)文件
[root@www extra]# curl -I -s 10.0.0.8|head -1
HTTP/1.1 403 Forbidden
#<==問(wèn)題是,Nginx有指定首頁(yè)文件的參數(shù),并且也指定了首頁(yè)文件,但是首頁(yè)文件并不存在,所以報(bào)403錯(cuò)誤。
以上兩個(gè) 403 的原因除了正確配置解決外,還可以通過(guò)一個(gè)參數(shù)來(lái)解決,就是:
autoindex on; #<==當(dāng)找不到首頁(yè)文件時(shí),會(huì)展示目錄結(jié)構(gòu),這個(gè)功能一般用于下載,例如:阿里云鏡像站點(diǎn)。
示例如下:
[root@www extra]# cat www.conf
#www virtualhost by oldboy
server {
listen 80;
server_name www.etiantian.org;
location / {
root html/www;
autoindex on; #<==當(dāng)找不到首頁(yè)文件時(shí),會(huì)展示目錄結(jié)構(gòu),這個(gè)功能一般用于下載,例如:阿里云鏡像站點(diǎn)。
}
access_log off;
}
當(dāng)不配置 index 首頁(yè)時(shí),效果如下:
Nginx網(wǎng)站出現(xiàn)403 forbidden的原因及故障模擬重現(xiàn)
3、原因之三是站點(diǎn)目錄或內(nèi)部的程序文件沒(méi)有 Nginx 的用戶(hù)訪(fǎng)問(wèn)權(quán)限。
[root@www extra]# echo test > ../../html/www/index.html
[root@www extra]# chmod 700 ../../html/www/index.html
#<==設(shè)置700讓nginx用戶(hù)無(wú)權(quán)讀取
[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錯(cuò)誤
[root@www extra]# chmod 755 ../../html/www/index.html
#<==設(shè)置755讓nginx用戶(hù)有權(quán)讀取
[root@www extra]# curl -I -s 10.0.0.8|head -1
HTTP/1.1 200 OK
#<==200 OK了
4、原因之四是 Nginx 配置文件中設(shè)置 allow 、 deny 等權(quán)限控制,導(dǎo)致客戶(hù)端沒(méi)有沒(méi)權(quán)限訪(fǎng)問(wèn)。
[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
#<==設(shè)置755讓nginx用戶(hù)有權(quán)讀取
[root@www extra]# ../../sbin/nginx -s reload
[root@www extra]# curl -I -s 10.0.0.8|head -1
HTTP/1.1 403 Forbidden
錯(cuò)新站長(zhǎng)網(wǎng)提示:上述出現(xiàn) 403 錯(cuò)誤的問(wèn)題并不是 Nginx 才有, Apache 服務(wù)的 Forbidden 403 問(wèn)題同樣也是這幾個(gè)問(wèn)題導(dǎo)致的,只是不同的軟件的參數(shù)細(xì)節(jié)略有區(qū)別而已。
新聞熱點(diǎn)
疑難解答
圖片精選