Ruta de reescritura del proxy inverso de nginx usando el mapa

Ruta de reescritura del proxy inverso de nginx usando el mapa

Estoy intentando configurar un proxy inverso nginx para reescribir una identificación en la ruta con otra identificación (también el dominio). Por ejemplo
https://somewhere.com/user/123/setting -->https://somewhere.else.com/user/456/setting
Pero estoy teniendo dificultades con las partes de reescritura. ¿Alguien puede ayudar?

map $old_user_id $new_project_id {
    123        456;
    999        9876;
    12         56;
}

server {
    location ~ ^/api/(?<old_project_id>.+)/store {
        rewrite ^/api/[^/]+(/.*)/store ....... # how to rewrite with the map?
        proxy_pass http://somewhere.else.com/;
    }
}

Respuesta1

La expresión regular no coincide con la identificación del ejemplo.
Al cambiar lo siguiente, puedo resolver mi problema.

location ~ ^/api/(?<project_id>.+)/store {
    rewrite ^/user/(.*)/setting /user/$project_id_2/setting break;
    proxy_pass http://host.docker.internal:8080;
}

información relacionada