Модуль ngx_http_access_module
позволяет ограничить доступ для определённых адресов клиентов.
Ограничить доступ можно также по паролю, по результату подзапроса или по JWT. Одновременное ограничение доступа по адресу и паролю управляется директивой satisfy.
Пример конфигурации
location / { deny 192.168.1.1; allow 192.168.1.0/24; allow 10.1.1.0/16; allow 2001:0db8::/32; deny all; }
Правила проверяются в порядке их записи до первого соответствия. В данном примере доступ разрешён только для IPv4-сетей 10.1.1.0/16
и 192.168.1.0/24
, кроме адреса 192.168.1.1
, и для IPv6-сети 2001:0db8::/32
. Если правил много, то лучше воспользоваться переменными модуля ngx_http_geo_module.
Директивы
Синтаксис: | allow адрес | CIDR | unix: | all; |
---|---|
Умолчание: | — |
Контекст: | http , server , location , limit_except |
Разрешает доступ для указанной сети или адреса. Если указано специальное значение unix:
(1.5.1), разрешает доступ для всех UNIX-сокетов.
Синтаксис: | deny адрес | CIDR | unix: | all; |
---|---|
Умолчание: | — |
Контекст: | http , server , location , limit_except |
Запрещает доступ для указанной сети или адреса. Если указано специальное значение unix:
(1.5.1), запрещает доступ для всех UNIX-сокетов.