nginx 403 Forbidden 排錯記錄

記錄一次nginx 403錯誤的處理情況 ,當然nginx 403錯誤引起的原因有很多,這里記錄的只是其中一種 (權限引發的問題)


場景:

我把個人簡歷放在github上,但是訪問很慢,就把這個靜態簡歷遷移到我的VPS服務器上,使用nginx做web服務,訪問時出現403錯誤

nginx配置(只展示重要部分):
server {
        listen  10000 ;
    server_name xxxx.xxxx.com ;
        access_log /home/resume/log/access.log main ;
        error_log /home/resume/log/error.log ;
    location / {
          root /home/resume/www ;
          index index.html ;
    }
}
訪問結果:
Paste_Image.png
查看nginx錯誤日志:

出現了關鍵字“Permission denied”

2016/12/23 14:02:26 [error] 5887#5887: *573 open() "/home/resume/www/index.html" failed (13: Permission denied), client: 192.168.15.2, server: xxxx.xxxx.com, request: "GET /index.html HTTP/1.0", host: "xxxx.xxxx.com"
排錯記錄:

一看是權限問題,馬上把** /home/resume/www**目錄下的所有文件權限改為777 ,重新訪問還是 403 ,反反復復折騰了很久,無解....
第二天晚上繼續,懷疑是nginx配置錯誤,搜索 nginx html時找到這個文章nginx 代理本地的html
原來是nginx配置中的用戶權限問題

  1. 查看nginx worker 用戶,www-data 是nginx默認配置的


    Paste_Image.png
  2. 靜態文件存放的文件夾用戶是scott,組為executor ,所nginx用戶為www-data導致權限問題(如果nginx配置的用戶和靜態文件的用戶不匹配,那怕權限是777也會出現權限問題,具體看<nginx.conf> nginx用戶權限)
    用戶
  3. 配置nginx權限和靜態文件統一
  • 編輯nginx配置文件
vim /etc/nginx/nginx.conf
  • 修改文件第一行的為靜態文件的用戶和組
# user 用戶名 用戶組  ; 這里的用戶名和組就是靜態文件的
user scott executor ;
Paste_Image.png
  1. 檢查配置正確性
nginx -t

上面的命令執行后返回以下內容則成功

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
  1. 重啟nginx
nginx -s stop
nginx -c /etc/nginx/nginx.conf
參考:
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 《老男孩Linux運維》筆記 隱藏Nginx軟件版本號 一般來說,軟件的漏洞都和版本有關。因此要盡量隱藏對訪問用戶...
    Zhang21閱讀 3,674評論 0 28
  • 配置運行Nginx服務器用戶(組) 用于配置運行Nginx服務器用戶(組)的指令是user,其語法格式為: use...
    吃瓜的東閱讀 4,530評論 0 41
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,869評論 18 139
  • 上一篇《WEB請求處理一:瀏覽器請求發起處理》,我們講述了瀏覽器端請求發起過程,通過DNS域名解析服務器IP,并建...
    七寸知架構閱讀 81,169評論 21 356
  • 今天下午,兒子要去學校學習,我像往常一樣早早穿好衣服,拿上車鑰匙,準備開車送兒子去。 出乎意料,兒子堅決...
    狄克先生閱讀 308評論 0 9