Cookies Nginx Regex检查$http\u cookie名称的MD5

Cookies Nginx Regex检查$http\u cookie名称的MD5,cookies,nginx,hash,md5,Cookies,Nginx,Hash,Md5,因此,我映射$http_cookie来检查客户端发送的所有cookie。我要截获的唯一cookie是任何带有MD5哈希的cookie,以获取cookie的值 检测MD5哈希的正则表达式如下 [0-9a-f]{32} 但是当我将它添加到map指令时,Nginx将不会运行,因为正则表达式是错误的 这是我的cookie地图问题是它得到了所有的cookie我只想要MD5总和的cookie map $http_cookie $session_id_value { default ''; ~^.*.+\=

因此,我映射$http_cookie来检查客户端发送的所有cookie。我要截获的唯一cookie是任何带有MD5哈希的cookie,以获取cookie的值

检测MD5哈希的正则表达式如下

[0-9a-f]{32}
但是当我将它添加到map指令时,Nginx将不会运行,因为正则表达式是错误的

这是我的cookie地图问题是它得到了所有的cookie我只想要MD5总和的cookie

map $http_cookie $session_id_value {
default '';
~^.*.+\=(?<session_value>[\w]+).*$ $session_value;
}

这是一个语法错误。从:

如果正则表达式包含“}”或“;”字符,则整个 表达式应该用单引号或双引号括起来

尝试:

map$http\u cookie$session\u id\u值{
默认值“”;
“~^.*[0-9a-f]{32}.+\=(?[\w]+).*$”$session\u值;
}
map $http_cookie $session_id_value {
default '';
~^.*[0-9a-f]{32}.+\=(?<session_value>[\w]+).*$ $session_value;
}
echo "Session Cookie Value : $session_id_value";
echo "httpcookie : $http_cookie";
map $http_cookie $session_id_value {
default '';
"~^.*[0-9a-f]{32}.+\=(?<session_value>[\w]+).*$" $session_value;
}