zoukankan      html  css  js  c++  java
  • lua_nginx_module用例

    content_by_lua

    server {
        listen 80;
        server_name lua.luckybing.top;
        location / {
            default_type 'text/plain';
            content_by_lua '
            if ngx.var.remote_addr=="203.100.83.125" then
              ngx.say("hello,from yunxiao")
            else
              ngx.say("hello,from other")
            end';
        }
    }

    rewrite_by_lua

     server {
        listen 80;    
        server_name lua.luckybing.top;
        location / {
            rewrite_by_lua '
              if ngx.var.remote_addr=="203.100.83.125" then
                return ngx.redirect("http://www.luckybing.top", 302)
              else
                return ngx.redirect("http://chat.luckybing.top", 302)
              end';
        }
    }

    access_by_lua

    server {
        listen 80;
        server_name lua.luckybing.top;
        location @client{
            proxy_pass  http://www.baidu.com;
        }
          location / {
            access_by_lua '
                if ngx.var.remote_addr=="203.100.83.125" then
                  ngx.exit(ngx.HTTP_FORBIDDEN)
                else
                  ngx.exec("@client")
                end';
        }
    }

    rewrite_by_lua

    server {
            listen 80; 
            server_name lua.luckybing.top;
            location @client{
                proxy_pass http://47.95.222.240:3000;
            }
            location @client2{
                proxy_pass http://47.95.222.240:4000;
            }
            location / {
                default_type 'text/html';
                #ngx.var.remote_addr
                rewrite_by_lua '
                     myIP = ngx.req.get_headers()["X-Real-IP"]
                     if myIP == nil then
                        myIP = ngx.req.get_headers()["x_forwarded_for"]
                     end
                     if myIP == nil then
                        myIP = ngx.var.remote_addr
                     end
    
                    if myIP=="203.100.83.125" then
                      ngx.exec("@client2")
                    else
                      ngx.exec("@client")
                end';
            } 
        }

     lua-nginx 负载均衡

    upstream wxqy {
          ip_hash;
          server  127.0.0.1:4000;
          server  127.0.0.1:4001;
    }
    
    
    
    server {
        listen 8091;
        server_name wxqy.iyunxiao.net;
        server_tokens off;
        access_log  off;
    
        location @client{
            proxy_pass http://wxqy;
        }
        location @client2{
            proxy_pass http://127.0.0.1:4002;
        }
    
    
        location / {
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   REMOTE-HOST      $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            #proxy_pass  http://wxqy;
            default_type 'text/plain';
            rewrite_by_lua '
             myIP = ngx.req.get_headers()["X-Real-IP"]
            if myIP == nil then
               myIP = ngx.req.get_headers()["x_forwarded_for"]
             end
            if myIP == nil then
               myIP = ngx.var.remote_addr
            end
            if myIP=="172.31.0.2" then
                ngx.exec("@client2")
            else
               ngx.exec("@client")
            end';
    
        }
    }
  • 相关阅读:
    react组件之间传值方式
    html url 传递锚点并添加参数
    Spring Boot 构建WAR包
    Spring Boot Actuator 的使用
    Spring boot的启动加载原理
    intellij idea resin容器部署web工程
    Mybatis Mapper之见解
    踩坑----数据库阻塞
    redis缓存与数据库的记录不一致造成的问题.(乐观锁)
    H5中popstate事件的诡异行为
  • 原文地址:https://www.cnblogs.com/xbblogs/p/8487623.html
Copyright © 2011-2022 走看看