Запрет доступа по IP в nginx

Иногда может возникнуть необходимость статически запретить доступ с IP-адреса к тому или иному ресурсу. В nginx это можно сделать не одним способом, через разные конструкции, например через директиву if:

if ($remote_addr ~ (aaa.bbb.ccc.ddd)) {
        return 444;
}

Где aaa.bbb.ccc.ddd - IP-адрес, который нужно заблокировать, return 444 - код возвращаемого клиенту HTTP-ответа.

Таким же образом можно блокировать целые сети, не указывая последний октет IP-адреса.

if ($remote_addr ~ (aaa.bbb.ccc)) {
        return 444;
}

Если потребуется заблокировать несколько IP-адресов или подсетей, можно использовать следующую конструкцию.

if ($remote_addr ~ (aaa.bbb.ccc)|(ddd.eee.fff)|(ggg.hhh.iii)) {
        return 444;
}

Если требуется заблокировать всех, кроме указанных IP-адресов или подсетей, нужно перед тильдой добавить восклицательный знак.

if ($remote_addr !~ (aaa.bbb.ccc)|(ddd.eee.fff)|(ggg.hhh.iii)) {
        return 444;
}

P.S: использование условия if допустимо в контексте директив server и location.