$http_cookie
Переменная $http_cookie захватывает значение заголовка Cookie из входящего HTTP-запроса. — 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' может создавать сложности в обработке запросов и должно быть тщательно протестировано.