Nginx の break と last の違いの詳細な分析

Nginx の break と last の違いの詳細な分析

まずは違いについて話しましょう

  • 最後に、書き換えられたルールは、次の場所と一致させるために書き換えられた値を引き続き使用します。
  • break の場合、書き換えられたルールは次の場所と一致しなくなります。新しいルールを使用すると、http リクエストが直接開始されます。

Nginx 設定ファイル

サーバー{
  聞く 88;
  サーバー名_;
  場所 /break { # 場所 1
   書き換え ^/break/(.*)$ /bak/$1 break;
  }
  場所 /last { # 場所 2
   ^/last/(.*)$ /bak/$1 last を書き換えます。
  }

  場所 /bak { # 場所 3
   デフォルトタイプはtext/htmlです。
   200 $uri を返します。
  }

}

http://rumenz.com:88/break/one をご覧ください。

location1 にアクセスすると、ブラウザのアドレスバーは変化しません。直接 /nginx/html/bak/one ファイルを探しに行きます。そのようなファイルは存在しないため、404 が返されます。

ブラウザ

Nginx エラー (error.log) ログ

/nginx/html/bak/one が失敗しました (2: そのようなファイルまたはディレクトリはありません)

break は書き換え後に停止し、ロケーション ブロックと一致しなくなることを意味します。

http://rumenz.com:88/last/one をご覧ください。

場所2を押すとブラウザのアドレスバーは変化しないので、場所3に再度一致させます。

最後は書き換え後のロケーションブロックにジャンプし、書き換えられたアドレスと再度一致させることを意味します。

breakとlastの使用例

壊す

ファイルのダウンロード、実際のファイル サーバーを非表示にして保護します。

場所 /down {
 書き換え ^/down/(.*)$ https://rumenz.com/file/$1 break;
}

最後

インターフェースアドレスを書き換え、https://rumenz.com/api/list を https://rumenz.com/newapi/list に書き換えます。

場所 /api {
 ^/api/(.*)$ /newapi/$1 を最後に書き換えます。
}

場所 /newapi {
 デフォルトタイプ Application/json;
 200 '{"code":200,"msg":"ok","data":["JSON.IM","json format"]}' を返します。
}

要約する

Nginx の break と last の違いについての記事はこれで終わりです。Nginx の break と last の違いについてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Nginx 設定で rewrite を書くときの last と break の違いの分析

<<:  シャトルボックス機能を実装するためのVueの詳細なコード

>>:  MySQL の innodb_flush_log_at_trx_commit と sync_binlog を区別する方法

推薦する

js の一般的でない演算子と演算子の概要

一般的な演算子と JavaScript の演算子の概要カテゴリオペレーター算術演算子+、–、*、/、...

WeChatアプレットで画像の幅と高さを取得する方法

起源最近、私は要件 A に取り組んでいます。そこには、次のように記述される小さな機能ポイントがありま...

JavaScript を使用してテーブル情報を追加および削除する

JavaScript 入門JavaScript は軽量なインタープリタ型の Web 開発言語です。言...

一般的な Linux ツール vi/vim の完全版

なぜvimを学ぶのかLinuxには多数の設定ファイルがあるため、Linuxには多くのテキスト処理ツー...

INS と DEL を使用してドキュメントの変更をマークする方法の詳細な説明

ins と del は、HTML 4.0 で導入され、文書の作成時に作成者が共同作業できるようにし、...

Nginx ロケーション設定のチュートリアル (ゼロから)

基礎位置の一致順序は、「最初に正規表現に一致し、次に共通表現に一致」です。実際のロケーションの一致順...

Dockerでローカルマシン(ホストマシン)にアクセスする方法

質問Docker でローカル データベースにアクセスするにはどうすればよいでしょうか? 127.0....

js でショッピングモールのシミュレーションを実現

HTML、CSS、JSフロントエンドを学習中の皆さん、今回はショッピングモールの事例の実装をシェアし...

React の国際化 react-intl の使用

React で国際化を実現するにはどうすればよいでしょうか? react-intlプラグインは、Re...

Axios を使用して Vue2 がリクエストを開始する詳細なプロセス記録

目次序文Axiosのインストールと設定シンプルなGETリクエストを開始するPOSTリクエストを行うシ...

IE で ClearType をオンにした後の透明フォントの問題の解決方法

IE で ClearType をオンにした後に発生する透明フォントの問題を解決するには、透明要素に背...

HTML 縦列表示テキストを使用してテキストを縦列で表示します

コードをコピーコードは次のとおりです。 <span style='display:bl...

MySQL のロックに関する問題

ロックの分類:データ操作の粒度から:テーブルロック:操作時にテーブル全体がロックされます。行ロック:...

HTML ドロップダウン ボックスの SELECT オプションを変更する複数の方法

フォームが送信されると、返された HTML ページが再レンダリングされ、SELECT コントロールの...

ウェブサイトデザインに関するヒント

実は、最近はウェブデザインについてよく耳にするようになりました。インターネット業界は今とても発展して...