NGINX Proxy_Pass eliminar subcadena de URL

NGINX Proxy_Pass eliminar subcadena de URL

Tengo un NGINX que actúa como proxy inverso. Necesito eliminar una subcadena string_1 de la URL, el resto de la URL es variable.

Ejemplo:

Origin: http://host:port/string_1/string_X/command?xxxxx

Destination: http://internal_host:port/string_X/command?xxxxx

nginx.conf:

location /string_1/   { 

    proxy_pass  http://internal_host:port/$request_uri$query_string;

Gracias,

@pcamacho

Respuesta1

Es realmente básico y simple. Simplemente agregue /path/parte proxy_passy nginx reemplazará locationel prefijo s con esa ruta. Necesitas reemplazar /string_1/con /, así que hazlo:

location /string_1/ {
    proxy_pass  http://internal_host:port/;
}

Respuesta2

Encontré la manera de reescribir la URL proxy_pass:

  location  /string_1/   {  

    if ($request_uri ~* "/string_1/(.*)") { 
            proxy_pass  http://internal_host:port/$1;
    }   

  }

Saludos,

@pcamacho

información relacionada