nginx配置引發的403問題怎么解決

nginx配置引發的403問題解決辦法

一、問題:在cURL nginx配置的本地域名時出現403

nginx配置引發的403問題怎么解決

nginx_Error.log日志如下:

nginx配置引發的403問題怎么解決

二、疑問

1、www.requesturi.com配置如下:發現root目錄與error日志中的禁止訪問的文件不一致,理論上訪問www.requesturi.com應該到/usr/local/nginx/html1去查找,為何顯示的確是/usr/local/nginx/html禁止訪問?

nginx配置引發的403問題怎么解決

2、curl一下/usr/local/nginx/html1下的一個a.txt文件發現:發現錯誤竟然是404。

nginx配置引發的403問題怎么解決

三、解決

大致可以推斷,可能是nginx.conf中www.requesturi.com沒有配置。查看nginx.conf發現:www.requesturi.com沒有配置,而且nginx是默認不允許訪問文件的目錄的,所以會出現403的錯誤。

nginx配置引發的403問題怎么解決

再查看下配置了的www.zhuye.com發現:www.zhuye.com的root目錄跟error日志中的禁止訪問的目錄是一樣的,而且server_name為一個ip而不是域名

nginx配置引發的403問題怎么解決

原因:因為www.requesturi.com沒有配置,所以當我們訪問www.requesturi.com時,nginx會訪問默認(即為www.zhuye.com),在訪問a.txt(在www.zhuye.com目錄下不存在這個文件)會報出404找不到的錯誤。

可以通過修改nginx配置,讓nginx可以訪問文件目錄:

nginx配置引發的403問題怎么解決

顯示目錄下文件:

nginx配置引發的403問題怎么解決

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享