1. 文法 場所 [=|~|~*|^~|@] /uri/ { ... } 2. 説明 上記の構文から、location は 3 つの部分に分けられることがわかります。1 つずつ見ていきましょう。 1) [=|~|~*|^~|@]
上記では、異なる一致ルールを表すいくつかの異なるシンボルが定義されていますが、順序は何でしょうか?
テスト例1: 場所 = /世界 { 600を返します。 } 場所 = /hello { 600を返します。 } 場所 ~ /hellowo { 602を返します。 } 場所 ^~ /hello { 601を返します。 } - localhost/world をリクエストすると 600 が返される - リクエストlocalhost/world2 localhost/test/worldはその他を返します - リクエストlocalhost/helloは600を返します - localhost/hello/123 へのリクエストは 601 を返します - localhost/hellow リクエストは 601 を返します - localhost/hellowo をリクエストすると 601 が返されます - localhost/test/hellowo をリクエストすると 602 が返されます - localhost/test/hello リクエストは他の したがって、次のことがわかります。
テスト例2: 場所 ~ /hello { 602を返します。 } 場所 ~ /helloworld { 601を返します。 } - localhost/world/helloworld をリクエストすると 602 が返されます - localhost/helloworld をリクエストすると 602 が返されます 上記の順序を調整します 場所 ~ /helloworld { 601を返します。 } 場所 ~ /hello { 602を返します。 } - localhost/helloworld をリクエストすると 601 が返されます - localhost/world/helloworld をリクエストすると 601 が返されます - localhost/helloWorld リクエストは 602 を返します 正規表現が一致すると
テスト例3: 場所 ^~ /hello/ { 601を返します。 } 場所 /hello/world { 602を返します。 } このシナリオでは、一致しないルーティング ルールがありますが、実際のテストはどのようになるのでしょうか。 - http://localhost/hello/wor は 601 を返します - http://localhost/hello/world は 602 を返します - http://localhost/hello/world23 は 602 を返します - http://localhost/hello/world/123 は 602 を返します 上記の例からわかることは
2) [ウリ] ここで入力する主なものは、一致する必要があるパスです。前の記号に従って、正確なパスまたは正規表現を入力できます。以下では、主に正規表現について説明します。
ルーティングと転送 リクエスト パスのマッチングは最初のステップにすぎません。マッチングが完了したら、リクエストを他の Web サービスに転送するにはどうすればよいでしょうか。 1. リバースプロキシ 一般的な使用方法は、nginx を使用してリクエストをプロキシし、他の内部 Web サービスに転送することです。 主にprixy_passを通じて達成される 場所 ^~ /webs { プロキシパス http://127.0.0.1:8080/webs; } 上記のルールの意味は、webs で始まるすべてのリクエストをポート 8080 の Web サービスに転送することです。 上記はIPアドレスに直接転送されます。複数のマシンがサービスを提供する場合は、次のように設定できます。 ## 最初のアップストリーム層として、http の括弧内に次のコードを入力します。test.online { サーバー 120.11.11.11:8080 重み = 1; サーバー 120.11.11.12:8080 重み = 1; } 場所 ^~ /webs { proxy_pass http://test.online; proxy_redirect デフォルト; } 2. 書き換えコマンド 書き換え機能は、nginx が提供するグローバル変数または自分で設定した変数を正規表現とフラグと組み合わせて使用し、URL の書き換えとリダイレクトを実現します。 rewriteはserver{}、location{}、if{}にのみ配置でき、渡されたパラメータを除くドメイン名の後の文字列に対してのみ機能します。 http://jb51.net/a/we/index.php?id=1&u=str /a/we/index.php のみを書き換えます。 構文: rewrite regex replacement [flag]; 例: 場所 ^~ /hexo { ルート '/Users/yihui/GitHub/'; } 場所 ~ /hello { ^(/hello).*$ /hexo/public/index.html を最後に書き換えます。 603を返します。 } helloで始まるすべてのファイルを/hexo/public/index.htmlに転送します。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: mysqldumpデータエクスポートの問題に関する詳細な議論
>>: MySQL が起動直後にシャットダウンする問題 (ibdata1 ファイルの破損が原因) に対する完璧な解決策
通常、フィールド値を更新するには次の SQL ステートメントを使用します。 mytable を更新し...
1. まず、サーバーの mysql にアクセスして権限を変更します。 GRANT オプション付きで、...
要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS....
DPlayer.jsビデオプレーヤープラグインは使いやすい主な用途: ビデオの再生、監視の開始、終了...
目次序文provide/inject を通じて Vuex 関数を実装する方法このプラグインをアプリケ...
MySQLはシーケンス関数を実装する1. シーケンスレコードテーブルを作成する テーブル `sys_...
会社の影響力が拡大し、製品が改良され続けるにつれて、関連するイメージデザインもそれに追いつき、徐々に...
概要Linux 用のオープン ソース ネットワーク監視ツールは数多くあります。たとえば、帯域幅の使用...
テーブルの背景色は、BGCOLOR 属性を通じて設定できます。基本的な構文<テーブル BGCO...
1. ロゴに代替テキストを追加するこれには 2 つの利点があります。スクリーン リーダーがロゴ画像の...
目次1. GRUB暗号化とは何か2. grub暗号化手順3. grub暗号化のロック属性1. GRU...
目次序文1. ロックとは何ですか? 2. InnoDBストレージエンジンのロック2.1 ロックの種類...
01 ウィンターフレーク(個人のみ) 02 スノートップキャップ(業務用) 03 モディウス「フリ...
この記事では、キャンバスでスクラッチカード効果を描画するための具体的なコードを参考までに共有します。...
序文nginx はマルチプロセス モデルを使用します。リクエストが届くと、システムはプロセスをロック...