Nginx+OpenResty +Lua开发内网访问限制

DBC 1.2K 0

开发一个访问限制的小脚本

Nginx+OpenRestry+Lua开发 关键代码如下

http{
​
# 这里设置为 off,是为了避免每次修改之后都要重新 reload 的麻烦。
# 在生产环境上需要 lua_code_cache 设置成 on。
​
lua_code_cache off;
​
# lua_package_path可以配置openresty的文件寻址路径,$PREFIX 为openresty安装路径
# 文件名使用“?”作为通配符,多个路径使用“;”分隔,默认的查找路径用“;;”
# 设置纯 Lua 扩展库的搜寻路径
lua_package_path "$prefix/lualib/?.lua;;";
​
# 设置 C 编写的 Lua 扩展模块的搜寻路径(也可以用 ';;')
lua_package_cpath "$prefix/lualib/?.so;;";
​
server {
     location / {
     access_by_lua_file lua/white_ip_list.lua;
     proxy_pass http://lbs;
     }
}

lua/white_ip_list.lua

local black_ips = {["想要不拦截的ip"]=true}

local ip = ngx.var.remote_addr
if true ~= black_ips[ip] then
    ngx.exit(ngx.HTTP_FORBIDDEN)
    return;
end

发表评论 取消回复
表情 图片 链接 代码

分享