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.
Ao compilar a partir do código-fonte, o módulo é
compilado por padrão; ele pode ser desabilitado com a opção de
compilação --without-http_mirror_module.
Em pacotes e imagens de nossos repositórios, o
módulo está incluído na compilação. 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. 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 não bufferizado 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.Exemplo de configuração#
location / {
mirror /mirror;
proxy_pass http://backend;
}
location = /mirror {
internal;
proxy_pass http://test_backend$request_uri;
}
Diretivas#
mirror#
mirror_request_body#
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;
}