Nginx禁止域名恶意解析

时间:2024-03-12 19:05:38

今天打开网站发现访客人数突增啊,不对啊,小站哪来这么多的访问量呢?打开百度统计,看到有其他的域名解析到我的IP,心中很不爽啊。遂搜索之,才有了此篇文章。
打开Nginx配置文件/etc/nginx/sites-available/default,在server添加或修改如下:

server {
    listern 80 default;
    server_name  domin or ip;
    #【1】此处禁止非己域名解析到ip
    if ($host !~ ^(youdomain.cn|www.yourdomain.cn|others.yourdomain.cn)$ ) {
            return  400;
    }
    #此处禁止ip访问网站
    if ($host ~* "\d+\.\d+\.\d+\.\d+"){
    return 400;
    }
    ..........
}

**注意:上述【1】处若只禁止某域名解析到ip时,采取以下配置即可。

   #vip.com为禁止解析到ip的域名
    if ( $host ~* (.*vip.com) ) {
    return 400;
    }

说明:网上给出了以下类似的配置:

server {
    listen 80 default;
    server_name;
    return 500;
}
  1. server_name 后面要填写dominIP"",不然nginx会启动失败。所以我对网上很多类似的写法表示疑惑。
  2. 上述的配置时禁止所有的访问,包括自己的域名和IP访问。网上有人指出再写一个server使自己的域名和IP访问,可我一个配置内写两个server时,会报错,目前我还没有找到解决的方法。

参考#