nginx "403 Forbidden" 錯誤解決方案

來源:互聯網
上載者:User


nginx 的 403 Forbidden errors 表示你在請求一個資源檔但是nginx不允許你查看。
403 Forbidden 只是一個HTTP狀態代碼,像404,200一樣不是技術上的錯誤。
哪些情境需要返回403狀態代碼的情境?

  1. 網站禁止特定的使用者訪問所有內容,例:網站屏蔽某個ip訪問。
    2.訪問禁止瀏覽目錄的目錄,例:設定autoindex off後訪問目錄。
    3.使用者訪問只能被內網訪問的檔案。

以上幾種常見的需要返回 403 Forbidden 的情境。

由於伺服器端的錯誤配置導致在不希望nginx返回403時返回403 Forbidden。

  1. 許可權配置不正確

  2.  

這個是nginx出現403 forbidden最常見的原因。

為了保證檔案能正確執行,nginx既需要檔案的讀許可權,又需要檔案所有父目錄的可執行許可權。

例如,當訪問/usr/local/nginx/html/image.jpg時,nginx既需要image.jpg檔案的可讀許可權,也需要/,/usr,/usr/local,/usr/local/nginx,/usr/local/nginx/html的可以執行許可權。

解決辦法:設定所有父目錄為755許可權,設定檔案為644許可權可以避免許可權不正確。

 
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或者自訂首頁檔案。

引起Nginx 403 forbidden有二種原因,一是缺少索引檔案,二許可權問題。今天又遇到 了,順便總結一下。

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的時候,直接存取網域名稱,找不到檔案,會報403 forbidden。例如:你訪問www.test.com而這個網域名稱,對應的root指定的索引檔案不存在。

2,許可權問題

因為許可權問題引起的403,個人覺得比較難尋找,因為一時想不起

server {   listen       80;   server_name  localhost;   index  index.php index.html;   root  /home/zhangy/www;


我把web目錄放在使用者的所屬目錄下面,nginx的啟動使用者預設是nginx的,所以對目錄根本沒有讀的許可權,這樣就會報403錯誤了。這個時候,把web目錄的許可權改大,或者是把nginx的啟動使用者改成目錄的所屬使用者,重起一下就能解決。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.