Access#

Модуль управляет доступом к ресурсам сервера на основе IP-адресов клиентов или сетей. Он позволяет разрешать или блокировать доступ для определенных IP-адресов, IP-диапазонов или UNIX-сокетов, чтобы повысить безопасность, ограничивая доступ к важным разделам веб-сайта или приложения.

Доступ также можно ограничить с помощью пароля, используя модуль Auth Basic, или на основе результата подзапроса, используя модуль Auth Request. Чтобы одновременно применять ограничения по адресу и паролю, используйте директиву 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. Когда правил много, предпочтительно использовать переменные из модуля Geo.

Директивы#

allow#

Синтаксис

allow адрес | CIDR | unix: | all;

По умолчанию

Контекст

http, server, location, limit_except

Разрешает доступ для указанной сети или адреса. Специальное значение all означает все IP-адреса клиентов.

Добавлено в версии 1.5.1: Специальное значение unix: разрешает доступ для любых UNIX-сокетов.

deny#

Синтаксис

deny адрес | CIDR | unix: | all;

По умолчанию

Контекст

http, server, location, limit_except

Запрещает доступ для указанной сети или адреса. Специальное значение all означает все IP-адреса клиентов.

Добавлено в версии 1.5.1: Специальное значение unix: запрещает доступ для любых UNIX-сокетов.