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


今天安裝dedecms,配置Nginx,然后生成一鍵生成靜態頁面,然后就沒有然后了,所有欄目頁面都顯示nginx 403 forbidden。

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

一、權限配置不正確

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

二、目錄索引設置錯誤(index指令配置)

由於dedecms是PHP程序,當時也沒注意配置如下
index index.php;
然后悲劇的事情就發生了,欄目下根本就沒有php文件啊,只有index.html。
當訪問該網站的時,nginx 會按照index.php 的先后順序(當然這里就一個)在根目錄中查找文件。如果這個文件不存在(顯然不存在啊),那么nginx就會返回403 Forbidden。

於是配置成index index.html index.htm index.php;

然后nginx -s relaod 重啟一下就好了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM