Nginx

NGINX Proxy_Pass 刪除 url 子字元串

  • June 18, 2015

我有一個 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

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

 location  /string_1/   {  

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

 }

問候,

@pcamacho

這真的很基本和簡單。只需添加/path/部分proxy_pass,nginx 就會location用該路徑替換 s 前綴。您需要替換/string_1//,所以這樣做:

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

引用自:https://serverfault.com/questions/699695