Nginx は完全一致を先に確認し、一致した最長 prefix を記憶します。^~ なら検索を終了し、それ以外は設定順に正規表現を評価します。正規表現が一致しなければ、記憶した prefix に戻ります。
パーサーは単一の server ブロックまたはフラットな location 一覧を受け付け、=、^~、通常 prefix、~、~* に対応します。ネストと名前付き location は明示的に拒否し、ブラウザーの正規表現では Nginx のすべての PCRE 機能を再現できません。
解析と照合はすべてブラウザー内で行われます。Nginx プロセスは動作せず、リクエストも送信されず、貼り付けた host name、パス、内部設定は端末内に留まります。
このテーマに関するよくある疑問と回答をまとめました。
server ブロック 1 つ、またはフラットな location ディレクティブを貼り付け、/ で始まる URI を入力して 5 段階のトレースを確認します。編集すると、選択ルールと各段階の状態が更新されます。
設定順が直接効くのは正規表現 location で、最初に一致したものが採用されます。完全一致と prefix location は、完全一致の優先や最長 prefix など別の規則に従います。
^~ も prefix location です。一致する最長 prefix なら、Nginx は正規表現を確認せず採用します。短い ^~ prefix が、より長い通常 prefix に勝つわけではありません。
Nginx は正規表現 location を記述順に試し、最初の一致で停止します。そのため、重なり合う 2 つの正規表現を並べ替えると選択結果が変わることがあります。
いいえ。単一 server ブロックのフラットな location と、一般的な =、^~、prefix、~、~* の動作をモデル化します。ディレクティブ、ネストや名前付き location、rewrite や try_files のリダイレクト、すべての PCRE 機能は実行しません。
パーサーはすべてブラウザー内で動作し、設定のアップロードやテストリクエストの送信は行いません。機密設定を扱う前に、画面共有、クリップボード、端末に関する組織の規則も確認してください。