从nginx限制中排除IP地址

时间:2013-12-30 19:22:41

标签: nginx

我想从nginx限制中排除1个静态IP地址“217.55.190.187” 我尝试安装地理模块,但它无法正常工作

geo $limited_ip {
default      1;
217.55.190.187  0;
}

map $limited_ip $limited_ip_key {
    0 '';
    1 $binary_remote_addr;
}
        limit_req_zone  $binary_remote_addr  zone=wafd1:10m   rate=10r/s;
        limit_req   zone=wafd1 burst=40 nodelay;

        limit_conn_zone  $binary_remote_addr zone=wafd:10m;
        limit_conn   wafd 15;

仍然有错误:

2013/12/30 20:48:37 [错误] 12550#0:* 4646限制请求,超出:40.080区域“wafd1”,客户端:217.55.190.187,服务器:alwafd。

我认为可以通过if语句

来完成

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您必须使用已定义的$ limited_ip_key作为密钥:

limit_req_zone  $limited_ip_key  zone=wafd1:10m   rate=10r/s;