Mirror#

O módulo implementa o espelhamento de uma requisição original criando sub-requisições de espelhamento em segundo plano. Respostas para sub-requisições de espelhamento são ignoradas.

Exemplo de Configuração#

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

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

Diretivas#

mirror#

Sintaxe

mirror uri | off;

Padrão

mirror off;

Contexto

http, server, location

Define o URI para o qual uma requisição original será espelhada. Vários espelhos podem ser especificados no mesmo nível de configuração.

mirror_request_body#

Sintaxe

mirror_request_body on | off;

Padrão

mirror_request_body on;

Contexto

http, server, location

Indica se o corpo da requisição do cliente é espelhado. Quando habilitado, o corpo da requisição do cliente será lido antes de criar sub-requisições de espelhamento. Neste caso, o proxy sem buffer do corpo da requisição do cliente definido pelas diretivas proxy_request_buffering, fastcgi_request_buffering, scgi_request_buffering e uwsgi_request_buffering será desabilitado.

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;
}