access-control: Расширенный контроль доступа на основе переменных
Установка на Debian/Ubuntu
Эти документы относятся к APT пакету nginx-module-access-control, предоставляемому репозиторием GetPageSpeed Extras.
- Настройте APT репозиторий, как описано в настройке APT репозитория.
- Установите модуль:
sudo apt-get update
sudo apt-get install nginx-module-access-control
Показать дистрибутивы и архитектуры
| Дистрибутив | Версия | Компонент | Архитектуры |
|-------------|-------------------|-------------|-----------------|
| debian | bookworm | main | amd64, arm64 |
| debian | bookworm-mainline | main | amd64, arm64 |
| debian | trixie | main | amd64, arm64 |
| debian | trixie-mainline | main | amd64, arm64 |
| ubuntu | focal | main | amd64, arm64 |
| ubuntu | focal-mainline | main | amd64, arm64 |
| ubuntu | jammy | main | amd64, arm64 |
| ubuntu | jammy-mainline | main | amd64, arm64 |
| ubuntu | noble | main | amd64, arm64 |
| ubuntu | noble-mainline | main | amd64, arm64 |
Название
Пользовательский модуль Nginx для расширенного контроля доступа на основе переменных.
Содержание
Статус
Этот модуль Nginx в настоящее время считается экспериментальным. Проблемы и запросы на изменение (PR) приветствуются, если вы столкнетесь с какими-либо проблемами.
Синопсис
server {
listen 80;
server_name example.com;
# Разрешить доступ, если $var2 не пуст и не равен нулю. Разрешенный запрос больше не будет соответствовать оставшимся правилам контроля доступа.
access allow $var1;
# Запретить доступ, если $var1 не пуст и не равен нулю
access deny $var2;
location / {
# Ваши другие настройки
}
location /restricted {
# Переопределение кода статуса отказа
access_deny_status 404;
# Запретить доступ, если $var3 не пуст и не равен нулю
access deny $var3;
}
}
Директивы
access
Синтаксис: access [allow|deny] variable;
По умолчанию: -
Контекст: http, server, location
Директива access определяет правило контроля доступа на основе переменной. Переменная оценивается во время выполнения, и если она не пустая и не равна нулю, правило считается выполненным.
allow: Разрешает доступ, если условие выполнено. Разрешенный запрос больше не будет соответствовать оставшимся правилам контроля доступа. deny: Запрещает доступ, если условие выполнено.
access_rules_inherit
Синтаксис: access_rules_inherit off | before | after;
По умолчанию: access_rules_inherit off;
Контекст: http, server, location
определяет, будут ли и как правила контроля доступа с предыдущего уровня применяться в текущем контексте конфигурации. Принимает три значения:
off: не унаследовать никаких правил доступа с предыдущего уровня, если в текущем уровне не определена директива доступа. before: применить правила доступа предыдущего уровня до правил доступа текущего уровня. after: применить правила доступа предыдущего уровня после правил доступа текущего уровня.
access_deny_status
Синтаксис: access_deny_status code;
По умолчанию: access_deny_status 403;
Контекст: http, server, location
Устанавливает код статуса HTTP, который будет возвращен в ответе, когда доступ запрещен правилом отказа.