Redis
 sql >> база данни >  >> NoSQL >> Redis

nginx lua redis бисквитката не се задава

може би сте забравили да покажете някои други неща;

нямам openresty среда; но нашата среда е подобна.

кодът по-долу е моят тест и работи перфектно

това е nginx.conf

location /cookie {
    default_type "text/plain";
    lua_code_cache off;
    content_by_lua_file test.lua;
} 

това е lua скрипт

local redis = require "redis"
local red = redis.connect('192.168.1.51',6379)

local ip = ngx.var.remote_addr
local secs = ngx.time()
local uid_key = ip .. secs
local uid = (uid_key)
local cookie = ngx.var.cookie_uid
local red_cookie = red:hget("cookie:"..uid, uid)


local args = ngx.req.get_headers()
local date_time = ngx.http_time(secs)

if cookie == nil or cookie ~= red_cookie then
    ngx.header['Set-Cookie'] = "path=/; uid=" .. uid 
    local res, err = red:hmset("cookie:".. uid,
    "uid", uid, "date_time", date_time,
    "user-agent", args["user-agent"])

    if not res then
        ngx.say("failed to set cookie: ", err)
    end 
end

ще покажете ли повече за вашия код?



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis - Изтекли индекси не се изтриват

  2. Грешка в полето в обект 'target' на поле '':отхвърлена стойност []; кодове [typeMismatch.target.,typeMismatch.,typeMismatch.java.util.Date,typeMismatch]

  3. Redis Config Set с Node jS

  4. Постоянен обект на Python в паметта за nginx/uwsgi сървър

  5. Как да се свържете с клъстер ElastiCache с помощта на node.js