zoukankan      html  css  js  c++  java
  • nginx + lua + redis 防黑IP

    lua脚本

    local redis = require "resty.redis"
    local red = redis.new()
    red.connect(red, '127.0.0.1', '6379')
    
    local myIP = ngx.req.get_headers()["$remote_addr"]
    
    if myIP == nil then
       myIP = ngx.req.get_headers()["x_forwarded_for"]
    end
    if myIP == nil then
       myIP = ngx.var.remote_addr
    end
    
    local hasIP = red:sismember('black.ip',myIP)
     
     if hasIP==1  then
         return  ngx.exec("@ErrorPage")
     else
         return ngx.exec("@mysite")
     end
    

    nginx配置

        server {
            listen       80;
            server_name  localhost;
    
            location / {
         
        access_by_lua_file /var/openresty/nginx/conf/my_access_limit.lua;
            }
    
        location @ErrorPage {
        root    html/ErrorPage;
        index  index.html index.htm;
    
    }
       location @mysite {
            root    html/mysite;
            index  index.html index.htm;
    }
    }

    END!

  • 相关阅读:
    J2EE第四周
    J2EE 第三周
    jsf简单入门
    Applrt和Ajax
    hello.java分析
    filter用户例子
    分析LogFilter
    理解session
    关于XML
    企业级应用和互联网应用的区别
  • 原文地址:https://www.cnblogs.com/changbo/p/6158883.html
Copyright © 2011-2022 走看看