• tengine + lua 实现流量拷贝


    环境搭建参考地址:http://www.cnblogs.com/cp-miao/p/7505910.html

    cp.lua
    local res1, res2, action
    action = ngx.var.request_method
    if action == "POST" then
            arry = {method = ngx.HTTP_POST, body = ngx.req.read_body()}
    else
            arry = {method = ngx.HTTP_GET}
    end
    
    if ngx.var.svr == "on" then
            res1, res2 = ngx.location.capture_multi {
                    { "/copynode" .. ngx.var.request_uri , arry},
            }
    else
            ngx.exec("@hubnode")
    end
    ngx.exec("@hubnode")
    

      

    cp.conf
    upstream hubnode {
        server 127.0.0.1:3001 weight=1;
        }
    
    upstream cpnode {
            server  127.0.0.1:9031;
    }
    
    server {
            listen  443;
            server_name aa.cn;
            ssl on;
            ssl_certificate /etc/ssl/private/all_a.pem;
            ssl_certificate_key /etc/ssl/private/all_a.pem;
    
            location ~* ^/copynode {
                    log_subrequest on;
                    rewrite ^/copynode(.*)$ $1 break;
                    proxy_set_header Host $host;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_pass http://cpnode;
                    #access_log logs/test-upstream.log main;
            }
    
            location @hubnode{
                    proxy_pass  http://hubnode;
                    proxy_set_header   Host    $host;
                    proxy_set_header   X-Real-IP   $remote_addr;
                    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header   X-Forwarded-Proto  $scheme;
            }
    
            location / {
                    client_body_buffer_size 2m;
                    set $svr     "on";               #开启或关闭copy功能
                    content_by_lua_file    "/nas/config/tengine/lua/t.lua";
            }
            access_log /var/log/tengine/np.log access;
    }
    

      

  • 相关阅读:
    递归--数字黑洞--蓝桥杯
    王、后问题
    递归--简单题--求二项式值
    有问题的题
    LeetCode----994. 腐烂的橘子「深度优先搜索」
    SpringBoot ---- MyBatis Plus 入门
    Spring Boot ---- 整合 MyBatis (注解方式)
    Android笔记
    LeetCode----跳跃游戏Ⅱ「动态规划」
    2020年米哈游秋季招聘程序 B卷编程题
  • 原文地址:https://www.cnblogs.com/cp-miao/p/8253113.html
Copyright © 2020-2023  润新知