nginx訪問報錯403 is forbidden
阿新 • • 發佈:2019-02-11
由於開發需要,在本地環境中配置了nginx環境,使用的是Centos 6.5 的yum安裝,安裝一切正常,於是把網站檔案用mv命令移動到了新的目錄,並相應修改了配置檔案,並重啟Nginx。
重啟就報個“403 is forbidden“的錯誤,檢視/var/log/nginx/error.log日誌顯示:xxx 403 forbidden (13: Permission denied)錯誤。
引起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
把nginx的啟動使用者改成目錄的所屬使用者方法:
vim /etc/nginx/nginx.conf
user yunva;
三、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
重啟就報個“403 is forbidden“的錯誤,檢視/var/log/nginx/error.log日誌顯示:xxx 403 forbidden (13: Permission denied)錯誤。
引起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
把nginx的啟動使用者改成目錄的所屬使用者方法:
vim /etc/nginx/nginx.conf
user yunva;
三、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