引起Nginx 403 forbidden有二種原因,一是缺少索引文件,二權(quán)限問題。今天又遇到 了,順便總結(jié)一下。
1、缺少index.html或者index.PHP文件
server {
listen 80;
server_name localhost;
index index.php index.html;
root /home/zhangy/www;
如果在/home/zhang/www下面沒有index.php,index.html的時(shí)候,直接訪問域名,找不到文件,會(huì)報(bào)403 forbidden。例如:你訪問www.test.com而這個(gè)域名,對(duì)應(yīng)的root指定的索引文件不存在。
2、權(quán)限問題
因?yàn)闄?quán)限問題引起的403,個(gè)人覺得比較難查找,因?yàn)橐粫r(shí)想不起
server {
listen 80;
server_name localhost;
index index.php index.html;
root /home/zhangy/www;
我把web目錄放在用戶的所屬目錄下面,nginx的啟動(dòng)用戶默認(rèn)是nginx的,所以對(duì)目錄根本沒有讀的權(quán)限,這樣就會(huì)報(bào)403錯(cuò)誤了。這個(gè)時(shí)候,把web目錄的權(quán)限改大,或者是把nginx的啟動(dòng)用戶改成目錄的所屬用戶,重起一下就能解決。
