1.權限配置不正確
這個是nginx出現403 forbidden最常見的原因。
為了保證文件能正確執行,nginx既需要文件的讀權限,又需要文件所有父目錄的可執行權限。
解決辦法:
可以將權限修改為root,在nginx的nginx.conf 文件的頂部加上user root;指定操作的用戶是root。
第二個我自己也不是太懂哈 copy別人的,大家可以參考下
2.目錄索引設置錯誤(index指令配置)
網站根目錄不包含index指令設置的文件。
例如,運行PHP的網站,通常像這樣配置index
index index.html index.htm index.php;
當訪問該網站的時,nginx 會按照 index.html,index.htm ,index.php 的先后順序在根目錄中查找文件。如果這三個文件都不存在,那么nginx就會返回403 Forbidden。
如果index中不定義 index.php ,nginx直接返回403 Forbidden而不會去檢查index.php是否存在。
同樣對於如果運行jsp, py時也需要添加index.jsp,index.py到目錄索引指令index中。
解決辦法:添加首頁文件到index指令,常見的是index.php,index.jsp,index.jsp或者自定義首頁文件。