nginx里面配置了很多二级域名,使用久了发现一个问题,就是当访问域名所在的固定ip时,会跳到其中一个二级域名页面
也不知啥原因,就感觉很别扭
后来把跳到的那个二级域名配置文件重命名成 xxxx.conf.bak,重启nginx之后,访问固定ip跳到了另一个页面
然后随便输入固定ip+后面的地址,也会访问到那个地址
经过对比发现了规律:两配置文件在目录默认的第一和第二排序
故初步得出结论:当访问固定ip时,nginx会依次在目录里按顺序访问第一个配置文件
这个时候还是一头雾水,后经过一番查找,才知道原因
原因在于default,nginx的默认访问资源
default参数表示这个是默认虚拟主机,用户通过IP访问,或者访问nginx中未配置的资源时(比如 http://固定ip/aaaaa/bbbb ),会默认访问这个
这个也是别人通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时候生效最关键的一点
当nginx未设置default参数时,nginx会在配置文件目录,把排在第一位的配置文件作为默认资源
Nginx 禁止通过固定IP访问这个设置非常有用。
比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回403.目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦。
也避免了黑客通过固定IP来进行信息泄露攻击的可能
操作步骤如下:
1.在conf.d中新建403.conf配置文件,并写入以下内容
server { listen 80 default; return 403; }
2.重启nginx,并访问固定IP测试
这样,无论是通过固定IP访问,还是通过nginx中未设置的资源地址访问,都会报错403拒绝访问
参考文档:https://www.cnblogs.com/oubo/archive/2011/10/13/2394599.html
https://blog.csdn.net/qq_43762932/article/details/130247503
https://www.cnblogs.com/weifeng1463/p/9197971.html
标签:配置文件,nginx,ip,访问,域名,IP From: https://www.cnblogs.com/allay/p/17596091.html