【已解决】nginx中配置反爬虫,多个域名或者多个ip段怎么写?

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 工作小总结
  • 时间:2023-08-08 22:37
  • 1973人已阅读
简介 在nginx配置中,可以使用正则表达式来匹配多个域名或者多个IP段。以下是示例配置:匹配多个域名:# 定义域名列表map $http_host $is_spammer {    default          &nbs

🔔🔔🔔好消息!好消息!🔔🔔🔔

有需要的朋友👉:联系凯哥 微信号 kaigejava2022

在nginx配置中,可以使用正则表达式来匹配多个域名或者多个IP段。以下是示例配置:

061684a67a7a071014b5f4a2c6452a7f.png

  1. 匹配多个域名:

# 定义域名列表
map $http_host $is_spammer {
    default                0;
    ~^(www\.)?example\.com  1;
    ~^(www\.)?example\.net  1;
}

server {
    # 判断是否属于反爬虫域名
    if ($is_spammer) {
        return 403;
    }
    
    ...
}


  1. 匹配多个IP段:

    1b5ef4d5fcff5e5a364af36a3ecdb647.png

  2. # 定义IP段列表
    map $remote_addr $is_spammer {
        default          0;
        192.168.1.0/24   1;
        10.0.0.0/8       1;
        172.16.0.0/12    1;
    }
    
    server {
        # 判断是否属于反爬虫IP段
        if ($is_spammer) {
            return 403;
        }
        
        ...
    }

以上配置中,map指令用于定义一个变量映射表,指定要匹配的域名或者IP段以及对应的值。然后在server配置中使用if指令,根据该变量的值判断是否属于反爬虫域名或者IP段,如果是,则返回403禁止访问的状态码。

TopTop