NGINX Proxy_Pass 刪除 url 子字串

NGINX Proxy_Pass 刪除 url 子字串

我有一個 NGINX 作為反向代理。我需要從 URL 中刪除子字串 string_1,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

我找到了重寫 proxy_pass URL 的方法:

  location  /string_1/   {  

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

  }

問候,

@pcamacho

相關內容