$uid_reset

Переменная $uid_reset указывает, следует ли сбросить UID запроса на основе правил контроля доступа. — NGINX Core (HTTP)

$uid_reset NGINX Core (HTTP)

Описание

Переменная $uid_reset используется в контексте контроля доступа на сервере NGINX. Она предназначена для управления сбросом идентификаторов пользователей (UID) для входящих соединений в соответствии с заданными правилами доступа. Переменная устанавливается в '1', когда запрос отклонён на основании совпадающего критерия контроля доступа, например блоков IP-адресов, заданных директивами 'allow' и 'deny'. Если запрос разрешён, $uid_reset остаётся '0'. Такое поведение важно для приложений, которым требуется логика, зависящая от того, был ли доступ пользователя отклонён, что позволяет реализовать настраиваемые ответы или механизмы журналирования на основе этого состояния. Фактическая установка переменной происходит во время выполнения модуля доступа, в частности при обработке входящих запросов. Конкретно, если правило явно запрещает доступ по определённому условию, NGINX обновляет переменную $uid_reset, чтобы отразить это отклонение. Поэтому пользователи этой переменной в своих конфигурациях могут использовать её для условного выполнения директив или для записи конкретных случаев, когда UID пользователя сбрасывается в рамках логики контроля доступа, что способствует усилению безопасности и управлению правами доступа.

Пример конфига

http {
    server {
        location / {
            allow 192.168.1.0/24;
            deny all;
            if ($uid_reset) {
                return 403;
            }
            proxy_pass http://backend;
        }
    }
}

Подсистема

http

Кэшируется

Да

Контексты

http, server, location, if

Убедитесь, что правила доступа определены правильно, поскольку неправильная настройка может привести к неожиданным результатам при сбросе UID.

Использование этой переменной в контекстах, отличных от if, может привести к непредсказуемому поведению, так как она лучше всего подходит для сценариев управления доступом.