Назад | Перейти на главную страницу

Как заблокировать IP-адрес или сетевой блок с помощью Varnish VCL?

Как заблокировать любой IP-адрес сетевого диапазона внутри VCL-файла Varnish?

acl unwanted {
    "69.60.116.0"/24;
    "69.90.119.207";
}

sub vcl_recv {
    if (client.ip ~ unwanted) {
        error 410;
    }
...
}

Начиная с Varnish 4, синтаксис изменился!

Вместо того:

error 403;

вам нужно использовать:

return(synth(403, "Access denied"));

С помощью Алексус' пример:

acl unwanted {
    "69.60.116.0"/24;
    "69.90.119.207";
}

sub vcl_recv {
    if (client.ip ~ unwanted) {
        return(synth(403, "Access denied"));
    }
}