複数のトークン番号については、書き直しにいくつか問題があります。Nginx Regex Multiple Token(+)で書き直し
私のAPIのバージョン管理に取り組んでいますので、廃止予定のバージョン呼び出しは最新のバージョンになります。わかりやすくするため、v4
とv5
をサポートしています。一部のヒットがv1-3
の場合、v5
に移動する必要があります。同様に、誰かがv6
にヒットした場合、それはv5
にも行くはずです。
当社nginx.confはので、私は、各バージョンが別のポートで
upstream v4 {
server 127.0.0.1:3000
}
upstream v5 {
server 127.0.0.1:3001
}
を実行している上流でproxy_passを使用していますし、我々は
location ^~ /v5 {
proxy_pass $scheme://v5;
}
location ^~ /v4 {
proxy_pass $scheme://v4;
}
location ~* "^/v[0-9]+" {
rewrite ^/v[0-9]+/(.*)$ /$latestVersion/$1;
proxy_pass $scheme://$latestUpstream;
}
プロキシ
にブロックがv0-9
のために働く最後の位置を位置ブロックを使用私が
+
を使用していても、数字が
v11
のような複数の桁であるときに捕捉できません。
これについての助力は素晴らしいことです。これで本当に混乱しました。ありがとう!
説明をいただきありがとうございました。本当に役に立ちました。 '/ v40..9'と'/v50 ... 9'がそれぞれ '/ v4'と'/v5'の場所に行き、 '/ v'で捕まえたいと思っている予期せぬ動作が見つかりましたロケーション。それについての提案はありますか?私は '(/ | $)'のような正規表現をしようとしましたが、うまくいきませんでした。 – Dan