Nginx 1.13.4 中引入ngx_http_miror_module模块来支持应用层的流量复制。该模块通过 mirror 配置指令来实现流量复制。如下图,可以通过下面配置来实现复制 proxy.local 流量到 test.local

Untitled

upstream backend {
	server backend.local:10000;
}

upstream test_backend {
	server test.local:20000;
}

server {
	server_name proxy.local;
	listen 8000;

	location / {
		mirror /mirror;
		proxy_pass <http://backend>;
	}
	
	location = /mirror {
		internal;
		proxy_pass http://test_backend$request_uri;
	}
}

其中每一条mirror配置项对应用户请求的一个副本,可以通过配置多次mirror指令来实现“流量放大”的效果。当然,你也可以将多个副本转发给不同的后端目标系统