$http_cookie

Переменная $http_cookie захватывает значение заголовка Cookie из входящего HTTP-запроса. — NGINX Core (HTTP)

$http_cookie NGINX Core (HTTP)

Описание

В NGINX переменная $http_cookie используется для доступа к значению заголовка Cookie, отправленного клиентами в их HTTP-запросах. Эта переменная устанавливается NGINX во время обработки запроса, когда он встречает клиентский заголовок Cookie. Как правило, $http_cookie содержит строку пар имени-значения для каждого cookie, при этом пары разделяются точкой с запятой. Например, если запрос включает 'Cookie: user_id=12345; session_token=abcde;', то $http_cookie вернёт 'user_id=12345; session_token=abcde'. Переменная особенно полезна для веб-приложений, которые полагаются на cookies для управления сессиями, отслеживания состояний пользователей или персонализации контента на основе пользовательских предпочтений. К ней можно обращаться в различных контекстах, таких как server, location или if directives. При использовании этой переменной важно помнить, что её вывод может варьироваться в зависимости от cookies, установленных в браузере клиента, и от того, разрешены ли они или изменяются ли какими-либо соответствующими директивами в конфигурации NGINX. Поскольку cookies могут содержать конфиденциальную информацию, рекомендуется осторожно обращаться с этой переменной, чтобы избежать непреднамеренного раскрытия данных в логах или сообщениях об ошибках, а также обеспечить соблюдение флагов secure и HTTP-only для cookie в логике приложения.

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

location / {
    if ($http_cookie ~* "session_id") {
        # Logic that depends on the session_id cookie
    }
}

Подсистема

http

Кэшируется

Да

Контексты

http, server, location, if

Переменная $http_cookie будет пустой, если клиент не отправил куки.

Убедитесь, что ваше приложение безопасно обрабатывает данные cookie, особенно если они содержат конфиденциальную информацию.

Использование переменной в контексте 'if' может создавать сложности в обработке запросов и должно быть тщательно протестировано.