Nginx proxy interceptar redireccionamiento y pasar redireccionamiento personalizado al cliente

Tengo una aplicación web que quiere acceder a archivos de un sitio de terceros sin CORS habilitado. Las solicitudes pueden ser a un dominio arbitrario con parámetros arbitrarios. Estoy enviando una solicitud a mi dominio que contiene el objetivo codificado como un parámetro GET, es decir.

GET https://www.example.com/proxy/?url=http%3A%2F%2Fnginx.org%2Fen%2Fdocs%2Fhttp%2Fngx_http_proxy_module.html

Entonces en Nginx hago

location /proxy/ {
    resolver 8.8.8.8;
    set_unescape_uri $dst $arg_url;
    proxy_pass $dst;
}

Esto funciona para archivos individuales, pero el servidor de destino a veces devuelve un encabezado de ubicación, que quiero interceptar y modificar para que el cliente vuelva a intentarlo.

Básicamente me gustaría escapar de $ sent_http_location, agregarlo ahttps://www.example.com/proxy/?url= y devuélvelo al navegador para volver a intentarlo.

He intentado hacer

set_escape_uri $tmp $sent_http_location;
proxy_redirect $sent_http_header /pass/?v=$tmp;

Pero esto no funciona. También he intentado guardar el encabezado de ubicación y luego ignorar el encabezado entrante con

proxy_hide_header

y reemplazarlo con el mío

proxy_set_header

pero ignorarme hace que pierda la variable que la guarda.

¿Cómo puedo configurar Nginx para lograr este manejo de redireccionamientos para que pueda pasar una URL codificada que se devolverá al usuario cuando el sitio proxy redirige?

Respuestas a la pregunta(1)

Su respuesta a la pregunta