1:获取cookie

local cookie_xx_value = ngx.var.cookie_xx

2:设置cookie

因为cookie的过期时间格是林尼治时间需要注意转下。

1
2
local expires = 3600 * 24 -- cookie expires = 1 day
ngx.header["Set-Cookie"] = "hello=world; Path=/; Expires=" .. ngx.cookie_time(ngx.time() + expires)

如果想同时设置多个cookie,可以传一个table

1
2
3
4
5
6
7
local expires = 3600 * 24 -- cookie expires = 1 day
local cookie_table = {
"hello=world; Path=/;Domain=/; Expires=" .. ngx.cookie_time(ngx.time() + expires),
"hello2=world2; Path=/;Domain=/; Expires=" .. ngx.cookie_time(ngx.time() + expires),
"hello3=world3; Path=/;Domain=/; Expires=" .. ngx.cookie_time(ngx.time() + expires)
}
ngx.header["Set-Cookie"] = cookie_table

更多cookie相关可以参考wikipedia:https://en.wikipedia.org/wiki/HTTP_cookie

也可以直接使用github上面分享的lua的cookie封装好的库。