镜像#

该模块通过创建后台镜像子请求来实现对原始请求的镜像。对镜像子请求的响应将被忽略。

配置示例#

location / {
    mirror /mirror;
    proxy_pass http://backend;
}

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

指令#

mirror#

语法

mirror uri | off;

默认值

mirror off;

上下文

http, server, location

设置原始请求将被镜像到的 URI。可以在同一级配置中指定多个镜像。

mirror_request_body#

语法

mirror_request_body on | off;

默认值

mirror_request_body on;

上下文

http, server, location

指示客户端请求体是否被镜像。当启用时,客户端请求体将在创建镜像子请求之前被读取。在这种情况下,由 proxy_request_bufferingfastcgi_request_bufferingscgi_request_bufferinguwsgi_request_buffering 指令设置的非缓冲客户端请求体代理将被禁用。

location / {
    mirror /mirror;
    mirror_request_body off;
    proxy_pass http://backend;
}

location = /mirror {
    internal;
    proxy_pass http://log_backend;
    proxy_pass_request_body off;
    proxy_set_header Content-Length "";
    proxy_set_header X-Original-URI $request_uri;
}