Apache RewriteCond と RewriteRule を ngnix に移植するにはどうすればよいですか?

Apache RewriteCond と RewriteRule を ngnix に移植するにはどうすればよいですか?

RewriteCond と RewriteRule を使用する Apache リバース プロキシ構成を Nginx に変換する必要があります。

このようなものを nginx 設定に変換するにはどうすればよいでしょうか?

(これはメイン/唯一の<VirtualHost *:443>ブロック内にあります)

    RewriteCond %{HTTP_HOST} ^stagingapi$ [NC]
    RewriteRule ^/(.*) https://staging-zone.mydomain.com/$1 [R,L]

答え1

RewriteRuleの最初のパラメータは、次の文字で始まるすべてのURIに一致する正規表現で/、2番目のパラメータは「stagingapi」サイト(Rフラグ)を次の場所にリダイレクトする置換です。https://staging-zone.mydomain.com/

次のようなものを試してみてください:

server{
  listen 443;
  server_name stagingapi;
  return 301 $scheme://staging-zone.mydomain.com$request_uri permanent;
}

Apache と同じ動作を実現するために常に HTTPS にリダイレクトしたい場合は、$schemeを に置き換えることができます。https

関連情報