NGINX Proxy_Pass URL サブ文字列を削除する

NGINX Proxy_Pass URL サブ文字列を削除する

リバース プロキシとして機能する NGINX が 1 つあります。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 は s プレフィックスをそのパスに置き換えます。を にlocation置き換える必要があるので、次のようにします。/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

関連情報