--- --- Generated by Lua --- Created by 水郁枫子 --- DateTime: 2020/1/9 23:50 --- ngx.header['Content-Type']="text/plain;charset=UTF-8"
--第一步判断IP是否合法 functioncheckInvalid() local headers=ngx.req.get_headers(); local ip=headers["X-REAL-IP"] or headers["X_FORWARDED_FOR"] or ngx.var.remote_addr or"0.0.0.0"; return ip; end
local ip = checkInvalid();
if ip then --第二步进行IP定位地址 local Ip2region,err = require"Ip2region"; ifnot Ip2region then ngx.log(ngx.ERR,"require Ip2region error: ", err); ngx.print("require Ip2region error: ", err); else local ip2region,err = Ip2region.new("/usr/local/openresty/nginx/conf/ip2region/ip2region.db"); ifnot ip2region then ngx.log(ngx.ERR,"require Ip2region error: ", err); ngx.print("require Ip2region error: ", err); else local data,err = ip2region:memorySearch(ip); ifnot data then ngx.print("require Ip2region data error: ", err); ngx.log(ngx.ERR,"require Ip2region data error: ", err); else local region = string.gsub(data.region, "|0", ""); region = string.gsub(region, "0", ""); region = string.gsub(region, "|", "-"); ngx.print(string.format("欢迎你IP:[%s]<br>来自%s的朋友", ip, region)); end end end else ngx.print("IP address is invalid",ip); end