当前位置: > Linux服务器 > nginx >

nginx日志中记录cookie的实现方法

时间:2014-06-19 02:19来源:linux.it.net.cn 作者:IT网

配置文件段如下:
 

 代码如下:log_format for_cookie '$remote_addr - - [$time_local] "$request" '
            '$status $body_bytes_sent'
            ' "$http_referer" "$http_user_agent" "$guid"';

set $guid "-";
        if ( $http_cookie ~* "guid=(\S+)(;.*|$)"){
                set $guid $1;
        }

access_log /usr/local/nginx/logs/click_hy.log for_cookie

注:上面的配置是取cookie中的guid的值,如果要取所有的cookie,则不需要set,$http_cookie即包含所有的cookie的值。
$guid :guid替换成你需要取的cookie中的项

测试:关于种cookie,可以使用下面的html代码,编辑,添加需要种的cookie
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<meta http-equiv="Refresh" content="10"> //为了方便测试,每10秒刷新一次页面
</head>
<body>
<h1>test.test.com域测试</h1>
下面列出了该域的cookie<br>
<p>
<script>
document.cookie="guid=A1UD8E5512451111111111"; //种cookie,追加
document.cookie="city=beijing"; //种cookie,追加
document.write(document.cookie); //列出已经存在的
</script>
</p>
</body>
</html>
查看cookie
在浏览器的地址栏输入如下js代码: javascript:document.write(document.cookie); 回车(注意,不要直接粘贴,直接粘贴会丢失javascript:),得到网站的cookie值。


 

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容