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

                 https://www.cnblogs.com/mayanan/p/16727764.html

 

posted on 2023-08-01 11:51  06  阅读(1523)  评论(0编辑  收藏  举报