nginx設定引發的403問題解決方法
一、問題:在curl nginx配置的本地網域時出現403
#nginx_error.log日誌如下:
#二、疑問
1、www .requesturi.com配置如下:發現root目錄與error日誌中的禁止訪問的文件不一致,理論上訪問www.requesturi.com應該到/usr/local/nginx/html1去查找,為何顯示的確是/usr/local /nginx/html禁止訪問?
2、curl一下/usr/local/nginx/html1下的一個a.txt檔案發現:發現錯誤竟然是404。
三、解決
#大致可以推斷,可能是nginx.conf中www.requesturi.com沒有配置。查看nginx.conf發現:www.requesturi.com沒有配置,而且nginx是預設不允許存取文件的目錄的,所以會出現403的錯誤。
再查看下配置了的www.zhuye.com發現:www.zhuye.com的root目錄跟error日誌中的禁止存取的目錄是一樣的,而且server_name為一個ip而不是網域
# 原因:因為www.requesturi.com沒有配置,所以當我們造訪www.requesturi.com時, nginx會存取預設(即為www.zhuye.com),在存取a.txt(在www.zhuye.com目錄下不存在這個檔案)會報出404找不到的錯誤。
可以透過修改nginx配置,讓nginx可以存取檔案目錄:
#顯示目錄下檔案:
以上是nginx設定引發的403問題怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!