web-dev-qa-db-ja.com

NGINX Proxy_PassはURLサブストリングを削除します

リバースプロキシとして機能する1つの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

7
Pedro

Proxy_pass URLを書き換える方法を見つけました:

  location  /string_1/   {  

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

  }

よろしく、

@pcamacho

11
Pedro

それは本当に基本的でシンプルです。 /path/部分をproxy_passに追加するだけで、nginxはlocationsプレフィックスをそのパスに置き換えます。 /string_1//に置き換える必要があるので、次のようにします。

location /string_1/ {
    proxy_pass  http://internal_Host:port/;
}
11
Alexey Ten