Модуль http_mirror
#
Позволяет зеркалировать исходный запрос при помощи создания фоновых зеркалирующих подзапросов. Ответы на зеркалирующие подзапросы игнорируются.
Пример конфигурации#
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_buffering, fastcgi_request_buffering, scgi_request_buffering и uwsgi_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;
}