一個奇葩常見的問題 nginx 403 forbidden錯誤

今天安裝dedecms,配置Nginx,而後生成一鍵生成靜態頁面,而後就沒有而後了,全部欄目頁面都顯示nginx 403 forbidden。php

通常來講nginx 的 403 Forbidden errors 表示你在請求一個資源文件可是nginx不容許你查看。
403 Forbidden 只是一個HTTP狀態碼,像404,200同樣不是技術上的錯誤。
哪些場景須要返回403狀態碼的場景?
1.網站禁止特定的用戶訪問全部內容,例:網站屏蔽某個ip訪問。
2.訪問禁止目錄瀏覽的目錄,例:設置autoindex off後訪問目錄。
3.用戶訪問只能被內網訪問的文件。
以上幾種常見的須要返回 403 Forbidden 的場景。

1、權限配置不正確html

不該該啊,查看了一下nginx.conf頭部使用use nginx。網上不少人說改爲root也是醉了,其實欄目目錄對於nginx用戶是可讀的,這根本不是問題所在。nginx

2、目錄索引設置錯誤(index指令配置)網站

因爲dedecms是PHP程序,當時也沒注意配置以下
index index.php;
而後悲劇的事情就發生了,欄目下根本就沒有php文件啊,只有index.html。
當訪問該網站的時,nginx 會按照index.php 的前後順序(固然這裏就一個)在根目錄中查找文件。若是這個文件不存在(顯然不存在啊),那麼nginx就會返回403 Forbidden。htm

因而配置成index index.html index.htm index.php;索引

而後nginx -s relaod 重啓一下就行了。ip

相關文章
相關標籤/搜索