NGINX Proxy_Pass удалить подстроку URL

NGINX Proxy_Pass удалить подстроку URL

У меня есть один NGINX, работающий как обратный прокси. Мне нужно удалить подстроку string_1 из URL, остальная часть URL является переменной.

Пример:

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;

Спасибо,

@pcamacho

решение1

Это действительно просто и просто. Просто добавьте /path/часть к proxy_passи nginx заменит locationпрефикс s на этот путь. Вам нужно заменить /string_1/на /, так что сделайте это:

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

решение2

Я нашел способ переписать URL proxy_pass:

  location  /string_1/   {  

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

  }

С уважением,

@pcamacho

Связанный контент