add_request_cookie

Директива `add_request_cookie` добавляет новый cookie в запрос, если он ещё не существует.

Синтаксисadd_request_cookie cookie_name value [if=condition];
По умолчаниюnone
Контекстhttp, server, location
Аргументы2-3

Описание

Директива add_request_cookie является частью тонкой настройки контроля NGINX над cookie в запросах и позволяет добавить cookie в заголовки запроса. Она принимает два или три аргумента: имя cookie, значение для присвоения и необязательное условное выражение, которое определяет, когда cookie следует добавлять. Если cookie с указанным именем уже присутствует в заголовках запроса, директива add_request_cookie просто проигнорирует операцию и оставит существующее cookie без изменений.

Эта директива полезна в сценариях, когда требуется гарантировать присутствие определённого cookie в запросе, но только если он ещё не установлен. Дополнительное условие можно использовать для динамического контроля добавления cookie на основе других переменных или условий запроса, что позволяет реализовывать более сложную логику обработки запросов. Директива применима в различных контекстах, включая http, server и location, что позволяет гибко настраивать управление cookie в разных частях конфигурации NGINX.

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

http {
    server {
        listen 80;
        server_name example.com;

        location / {
            # Add a cookie named 'session_id' with a value of 'xyz123' if it does not already exist.
            add_request_cookie session_id xyz123;
        }
    }
}

Директива добавляет cookie только если такое cookie ещё не существует; существующие cookie с тем же именем будут проигнорированы.

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

← Ко всем директивам