Nginx 中使用 mirror 进行流量复制
nginx 在 1.13.4 及其后续版本中内置了 ngx_http_mirror_module 模块,它会创建原始请求的镜像请求来代理到不同的服务器中进行处理,其中镜像请求的响应会被忽略。
该模块具有两个指令:mirror 与 mirror_request_body,在配置文件的 http, server, location 中可以进行设置。
mirror
mirror 用于指定镜像请求的地址,可以设置多个镜像请求地址,语法为:mirror URI
。Nginx 并不会关心镜像请求的返回结果,不论请求返回成功或者失败都会被忽略。
mirror_request_body
设置是否将请求中的请求体复制到镜像请求中,默认值为mirror_request_body on
,当启用时,默认的proxy_request_buffering, fastcgi_request_buffering, scgi_request_buffering 和 uwsgi_request_buffering 都将被禁用,若不需要此配置可将其指定为off
。