引起nginx 403 forbidden通常是三種情況:一是缺少索引文件,二是權限問題,三是selinux狀態。
一、缺少index.html或index.php文件,就是設定檔中index index.html index.htm這行中的指定的文件
server { listen 80; server_name localhost; index index.php index.html; root / var/www; }
如果在/ var /www下面沒有index.php,index.html的時候,直接訪問域名,找不到文件,會報403 forbidden。
二、權限問題,如果nginx沒有web目錄的操作權限,也會出現403錯誤。
解決方法:修改web目錄的讀寫權限,或是把nginx的啟動用戶改成目錄的所屬用戶,重啟nginx即可解決
chmod -r 755 / var/www
三、selinux設定為開啟狀態(enabled)的原因
首先查看本機selinux的開啟狀態,如果selinux status參數為enabled即為開啟狀態
/usr/sbin/ sestatus -v
或使用getenforce指令檢查
找到原因了,如何關閉selinux 呢
1、暫時關閉(不用重新啟動)
setenforce 0
2、修改設定檔/etc/ selinux/config,將selinux=enforcing改為selinux=disabled
vi /etc/ selinux/config
注意:修改設定檔需要重新啟動系統reboot
**********若以上方法都不能解決,那還需要注意一個地方*********
查看nginx.conf:
user nobody
改成:user root
##停止nginx -s stop
重啟nginx -c nginx.conf
以上是Nginx報403 forbidden錯誤怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!