环境
nginx1.22,centos7.9 由于线上数据的各类问题,不容易在测试环境复现,只好将线上数据,复制转发到测试环境进行验证及问题查询
步骤
- 流量复制主要依赖ngx_http_mirror_module模块 nginx 1.13.4及后续版本内置ngx_http_mirror_module模块,提供流量镜像(复制)的功能。 没有则编译添加
./configure
--sbin-path=/usr/local/nginx/nginx
--conf-path=/usr/local/nginx/nginx.conf
.....
--without-http_mirror_module
make && make install
- 配置复制的请求
location ^~ /api/ {
mirror /mirror;
mirror_request_body on;
proxy_pass http://192.168.1.100:8080/;
}
- 请求的入口,复制到mirror
location = /mirror {
internal;
proxy_pass http://192.168.1.111:8080$request_uri;
proxy_pass_request_body on;
}
- 转发至192.168.1.111的机器进行接收