local clientIP = ngx.req.get_headers()["X-Real-IP"]
or ngx.req.get_headers()["X-Forwarded-For"]
or ngx.var.remote_addr
local memcached = require "resty.memcached"
local memc, err = memcached:new()
if not memc then
ngx.log(ngx.ERR, "failed to new memcached: ", err)
ngx.exit(500)
end
memc:set_timeout(200)
local ok, err = memc:connect("127.0.0.1", 11211)
if not ok then
ngx.log(ngx.ERR, "memcached connect failed: ", err)
ngx.exit(500)
end
local res, _, err = memc:get(clientIP)
if err then
ngx.log(ngx.ERR, "memcached get failed: ", err)
memc:set_keepalive(10000, 100)
ngx.exit(500)
end
--ngx.log(ngx.ERR, "memcached connect failed: ", clientIP)
memc:set_keepalive(10000, 100)
if res == "1" then
ngx.exec("@server_test")
else
ngx.exec("@server")
end
test2026-06-16 15:57
