Наша команда разработала аналитическое приложение, которое записывает и анализирует все входящие (не отброшенные) запросы. В этом случае я должен отправлять копии всех запросов другому восходящему потоку в моем решении обратного прокси.
Возможно ли это только с NGINX? Или есть какое-то другое решение с минимальным влиянием на текущую структуру обратного прокси?
Предпочтительно делать это в NGINX, чтобы процессы по запросам NGINX уже выполнялись, а запрос был таким же, как он был отправлен в пункт назначения в восходящем направлении.
PS: аналитическое приложение не возвращает никакого ответа
После некоторого поиска в документации nginx я нашел зеркало каталога в nginx.org. Думаю, это то, что тебе нужно.
Мы используем кубернеты с nginx в качестве входа, поэтому наша конфигурация
location /api/what-i-want-to-mirror {
set $proxy_upstream_name "gateway-api-service-svc-80";
proxy_pass http://upstream_balancer;
mirror /mirror;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location = /mirror {
set $proxy_upstream_name "integration-gateway-api-service-svc-80";
proxy_pass http://upstream_balancer;
internal;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Original-URI $request_uri;
}
Мы сделали это как можно скорее, но это работает как шарм.