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

相关内容