nginx中出現403forbidden錯誤

nginx 「403 Forbidden」 錯誤

出現這個錯誤通常是由於如下緣由:

  1. 網站禁止特定的用戶訪問全部內容,例:網站屏蔽某個ip訪問。
  2. 訪問禁止目錄瀏覽的目錄,例:設置autoindex off後訪問目錄。
  3. 用戶訪問只能被內網訪問的文件。

因爲服務器端的錯誤配置致使在不但願nginx返回403時返回403 Forbidden。php

權限配置不正確

這個是nginx出現403 forbidden最多見的緣由。
爲了保證文件能正確執行,nginx既須要文件的讀權限,又須要文件全部父目錄的可執行權限。
例如,當訪問/usr/local/nginx/html/image.jpg時,nginx既須要image.jpg文件的可讀權限,也須要/,/usr,/usr/local,/usr/local/nginx,/usr/local/nginx/html的能夠執行權限。html

解決辦法:設置全部父目錄爲755權限,設置文件爲644權限能夠避免權限不正確。nginx

目錄索引設置錯誤(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或者自定義首頁文件。windows

php-fpm沒有啓動

若是php-fpm沒有啓動,形成腳本沒法解析也會出錯的。服務器

案例

在windows中使用nginx,默認的配置文件是conf文件夾下的nginx.conf,又一次我把本身的配置文件夾放到conf文件夾之下,這個配置文件夾是正常的,可是一直報403錯誤。後來發現就是默認的nginx.conf沒有include其它的配置文件,可是nginx.conf這個文件夾下的php解析又沒有設置,因此形成問題。另外須要注意的是,windows下的php-cgi的鏈接數到必定的時候,php-cgi會自動退出,因此最好寫一個守護php-cgi的腳本。jsp

相關文章
相關標籤/搜索