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;
}
tengine + lua 实现流量拷贝的更多相关文章
- Nginx流量拷贝
1. 需求 将生产环境的流量拷贝到预上线环境或测试环境,这样做有很多好处,比如: 可以验证功能是否正常,以及服务的性能: 用真实有效的流量请求去验证,又不用造数据,不影响线上正常访问: 这跟灰度发布还 ...
- tengine lua 开源一 调用内部接口高效发送文件
tengine lua 开源一 调用内部接口高效发送文件 开源自己封装的sendfile 模块,可以高效的通过lua发送文件 源码地址:https://github.com/weinyzhou/Lu ...
- Tengine+Lua+GraphicsMagick
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! 使用 Tengine+Lua+GraphicsMagick 实现图片自动裁剪缩放 需求 : 图片 ...
- ambassador 学习八 流量拷贝说明
这个功能nginx 的mirror 插件也支持,基本原理就是数据发送后端,但是不进行响应 参考图 实现方式 原始请求 getambassador.io/config: | --- apiVersion ...
- goreplay(gor) golang 流量拷贝工具试用
1. 项目地址 https://github.com/buger/goreplay 2. 安装 wget https://github.com/buger/goreplay/releases/down ...
- nginx 流量拷贝模块 ngx_http_mirror_module 安装试用
1. 下载源码编译 https://nginx.org/download/nginx-1.13.4.tar.gz 2. 下载依赖模块包 这里直接yum 安装 yum -y instal ...
- lua实现深度拷贝table表
lua当变量作为函数的参数进行传递时,类似的也是boolean,string,number类型的变量进行值传递.而table,function,userdata类型的变量进行引用传递.故而当table ...
- tengine+lua的安装步骤
我是在Red Hat 5.8 的虚机上安装的. Nginx的一些模块需要其他第三方库的支持,例如gzip模块需要zlib库,rewrite模块需要pcre库,ssl功能需要openssl库等.建议把这 ...
- 【技术干货】听阿里云CDN安防技术专家金九讲tengine+lua开发
一.介绍 二.安装 三.运行 四.开发 1.介绍 Tengine:轻量级.高性能.高并发.配置化.模块化.可扩展.可移植的Web和反向代理 服务器,Tengine是nginx超集,但做了很多优化,包含 ...
随机推荐
- IEEE 802.15介绍
1. 无线通信 无线通信主要是利用无线电(Radio)射频(RF)技术的通信方式,无线网络是采用无线通信技术实现的网络无线网络可为两种: 近距离无线网络和远距离无线网络 近距离无线网络主要可分为如下两 ...
- 智联招聘的python岗位数据结巴分词(一)
如何获取数据点击这里 下载之后的文件名为:all_results.csv 数据样式大概这样.然后下面我分析的是工作要求 也就是那边的绿框那一列. import csv import os impor ...
- 【Uva11762】Race to 1
模拟马尔可夫过程,具体看书. #include<bits/stdc++.h> #define N 1000010 using namespace std; ; void calcprime ...
- 操作MySQL数据库相关代码
注意事项: 1.导入驱动包,如我导的是mysql-connector-java-5.1.26-bin.jar 2.修改下面代码中的用户名和密码 3.其中URL为"jdbc:mysql://数 ...
- 5.flask知识点补充
1.WTForms表单验证基本使用 flask-wtf是一个简化了WTForms操作的一个第三方库,WTForms表单的两个主要的功能jiushi就是验证用户提交数据的合法性以及渲染模板.当然还包括其 ...
- python memcache操作-安装、连接memcache
安装memecache wget http://memcached.org/latest tar -zxvf memcached-1.x.x.tar.gz cd memcached-1.x.x ./c ...
- selenium+python自动化79-文件下载(SendKeys)【转载】
前言 文件下载时候会弹出一个下载选项框,这个弹框是定位不到的,有些元素注定定位不到也没关系,就当没有鼠标,我们可以通过键盘的快捷键完成操作. SendKeys库是专业的处理键盘事件的,所以这里需要用S ...
- hdu 1410(直线与矩形相交)
Intersection Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 13528 Accepted: 3521 Des ...
- MATLAB多项式及多项式拟合
多项式均表示为数组形式,数组元素为多项式降幂系数 1. polyval函数 求多项式在某一点或某几个点的值. p = [1,1,1];%x^2+x+1 x = [-1,0,1];y = po ...
- ubuntu fcitx google 输入法打不出中括号【】
编辑/usr/share/fcitx/data/punc.mb.zh_CN, 将 [ · ] 「 」 这部分改成自己习惯的: [ [ ] ] 保存后,重启一下fcitx就OK了.