$http_cookie
$http_cookie 变量捕获来自传入 HTTP 请求的 Cookie 头的值。 — NGINX Core (HTTP)
$http_cookie
NGINX Core (HTTP)
说明
在 NGINX 中,$http_cookie 变量用于访问客户端在 HTTP 请求中发送的 Cookie 头的值。该变量在 NGINX 处理请求并遇到客户端提供的 Cookie 头时被设置。通常,$http_cookie 将包含每个 cookie 的名值对字符串,名值对以分号分隔。例如,如果请求包含 'Cookie: user_id=12345; session_token=abcde;',那么 $http_cookie 会返回 'user_id=12345; session_token=abcde'。 该变量对依赖 cookie 进行会话管理、跟踪用户状态或根据用户偏好个性化内容的 Web 应用特别有用。可以在诸如 server、location 或 if 指令等不同上下文中访问它。使用此变量时,应注意其输出可能取决于客户端浏览器中设置的 cookie,以及这些 cookie 是否被 NGINX 配置中的相关指令允许或修改。 鉴于 cookie 可能包含敏感信息,建议谨慎处理此变量,以避免在日志或错误消息中无意暴露数据,并在应用逻辑中确保尊重 secure 和 HTTP-only cookie 标志。
配置示例
location / {
if ($http_cookie ~* "session_id") {
# Logic that depends on the session_id cookie
}
}子系统
http可缓存
是上下文
http, server, location, if⚠
如果客户端未发送任何 cookie,则 $http_cookie 变量将为空。
⚠
确保你的应用程序安全地处理 cookie 数据,尤其是当其中包含敏感信息时。
⚠
在 'if' 上下文中使用该变量可能会引入与请求处理相关的复杂性,应进行彻底测试。