Иногда может возникнуть необходимость статически запретить доступ с 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.