程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 一個奇葩常見的問題 nginx 403 forbidden錯誤,nginxforbidden

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

編輯:關於PHP編程

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


今天安裝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 重啟一下就好了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved