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#
|
|
По умолчанию |
— |
http, server, location, limit_except |
Разрешает доступ для указанной сети или адреса.
Специальное значение all
означает все IP-адреса клиентов.
Добавлено в версии 1.5.1: Специальное значение unix:
разрешает доступ для любых UNIX-сокетов.
deny#
|
|
По умолчанию |
— |
http, server, location, limit_except |
Запрещает доступ для указанной сети или адреса.
Специальное значение all
означает все IP-адреса клиентов.
Добавлено в версии 1.5.1: Специальное значение unix:
запрещает доступ для любых UNIX-сокетов.