- 时间:2020-09-09 13:38 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:nginx配置引发的403问题解决办法
[b]nginx配置引发的403问题解决办法[/b]
[b]一、问题:在curl nginx配置的本地域名时出现403[/b]
[img]http://files.jb51.net/file_images/article/201706/201706191044241.png[/img]
nginx_error.log日志如下:
[img]http://files.jb51.net/file_images/article/201706/201706191044242.png[/img]
[b]二、疑问[/b]
1、www.requesturi.com配置如下:发现root目录与error日志中的禁止访问的文件不一致,理论上访问www.requesturi.com应该到/usr/local/nginx/html1去查找,为何显示的确是/usr/local/nginx/html禁止访问?
[img]http://files.jb51.net/file_images/article/201706/201706191044243.png[/img]
2、curl一下/usr/local/nginx/html1下的一个a.txt文件发现:发现错误竟然是404。
[img]http://files.jb51.net/file_images/article/201706/201706191044244.png[/img]
[b]三、解决[/b]
大致可以推断,可能是nginx.conf中www.requesturi.com没有配置。查看nginx.conf发现:www.requesturi.com没有配置,而且nginx是默认不允许访问文件的目录的,所以会出现403的错误。
[img]http://files.jb51.net/file_images/article/201706/201706191044245.png[/img]
再查看下配置了的www.zhuye.com发现:www.zhuye.com的root目录跟error日志中的禁止访问的目录是一样的,而且server_name为一个ip而不是域名
[img]http://files.jb51.net/file_images/article/201706/201706191044246.png[/img]
原因:因为www.requesturi.com没有配置,所以当我们访问www.requesturi.com时,nginx会访问默认(即为www.zhuye.com),在访问a.txt(在www.zhuye.com目录下不存在这个文件)会报出404找不到的错误。
可以通过修改nginx配置,让nginx可以访问文件目录:
[img]http://files.jb51.net/file_images/article/201706/201706191044247.png[/img]
显示目录下文件:
[img]http://files.jb51.net/file_images/article/201706/201706191044248.png[/img]
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!