1.1 获取Cookie json
获取全部cookie: ngx.var.http_cookie, 这里获取的是一个字符串,若是不存在则返回nil 。
获取单个cookie: ngx.var.cookie_username, 获取单个cookie,_后面的cookie的name,若是不存在则返回nil 。
1.2 设置Cookiemarkdown
ngx.header['Set-Cookie'] = {'a=32; path=/', 'b=4; path=/'}-- 批量设置cookiecookie
ngx.header['Set-Cookie'] = 'a=32; path=/' -- 设置单个cookie,经过屡次调用来设置多个值app
ngx.header['Set-Cookie'] = 'b=4; path=/'dom
ngx.header['Set-Cookie'] = 'c=5; path=/; Expires=' .. ngx.cookie_time(ngx.time() + 60 * 30) -- 设置Cookie过时时间为30分钟lua
熟悉http协议的应该都知道,设置cookie是经过在响应头中的Set-Cookie字段来操做的,既然知道原理那上面的代码应该就很好理解,其实只要知道怎么用lua来设置响应头便可spa
注意:设置cookie时要必定要加path和Expires(过时时间),否则没法生效,由于默认过时时间为当即。插件
2.一、 获取cookie local cookie = resty_cookie:new() local all_cookie = cookie:get_all() -- 这里获取到全部的cookie,是一个table,若是不存在则返回nil print(cjson.encode(all_cookie)) print(cookie:get('c'))-- 获取单个cookie的值,若是不存在则返回nil
2.二、 设置cookie cookie:set({ key = "c", value = "123456", path = "/", domain = "localhost", expires = ngx.cookie_time(ngx.time() + 60 * 13) })