場所の優先順位でnginxのテスト!

LOCATION [= |〜|〜* | ^〜】/ / URI {...}
 
 = 一致する正確な開始
開始は、大文字と小文字が区別正規マッチングを表す
〜* 初めは大文字と小文字を区別しない正規マッチングを示す
 ^〜始まりにURIを発現ストリングの従来の開始は、URLのパスに一致するものと理解されます。URLリクエストが/であるので、nginxのではないコーディングを行う静的 / 20である%/ AA、
それは定期的に〜^ /かもしれ静的 / / マッチしたAA(スペースに注意)。 !〜と!〜* 大文字と小文字は区別されず、大文字と小文字を区別しないマッチは、通常一致しない / 任意の要求が一致している、一般的なマッチを。 場合場所のために構成マッチングための複数: 最初の一致 =、^〜、最終的/一般的なマッチに、順に、正のマッチングファイル続い一致しました。マッチング停止したとき、一致の成功があった場合、現在のルールによる処理要求が一致しました。

================================================== ====================================

次のように前提はnginxの設定ファイルをインストール:(圧縮及び遅延の皇帝を無視することができます)

ユーザーnginxののnginxの。
worker_processes   2 ; 
error_logのログ / error.logに情報; 
PIDログ / nginx.pid。
イベント{ 
   使用するファイルディスクリプタ。
    worker_connections   10240 ; 
} 
HTTP { 
    のmime.typesを含みます。
    default_typeアプリケーション / octet- ストリーム。

    LOG_FORMATメイン   ' $ REMOTE_ADDR - $ REMOTE_USER [$ time_local] "$依頼" ' 
                     ' $地位$ body_bytes_sent "$ HTTP_REFERER" ' 
                      ' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR" ' ;
/ メインのaccess.log。
    sendfileの上; 
    オフserver_tokens; 
    keepalive_timeout   65 ; 
    client_header_timeout 60 ; 
    client_body_timeout 60 ; 
    gzipの上; 
    gzip_buffers 4 16K。
    gzip_http_version 1.1 ; 
    gzip_comp_level 2 ; 
    gzip_typesテキスト /プレーンテキスト/ javascriptのアプリケーション/ X-javascrip tのテキスト/ CSSのテキスト/ XMLの
    アプリケーション / XMLアプリケーション/ XML + RSS。
    サーバー{ 
        聞いて        80を
        SERVER_NAME www.source.com; 
        文字セットUFT - 8 
        access_logのログ / メインsource.com.access.log; 
测试区の
位置 / { 返す 400 } 場所 / テスト{ リターン 401 }
        location  ~ ^/test {
                    return 402;
}

        場所〜^ /試験/ AAA {
          403を返します。
}




}
}

それぞれがマスター設定ファイルを変更した後、次の2つのコマンドを実行する必要があります。

[ルート@ localhostの〜]#nginxの-t
[ルート@ localhostの〜]#killallを-HUP nginxの                               //重启nginxの

理論のテスト:故意にそれはLinuxのために一致し、障害への次の試合のリードから上にあるかどうかを確認するために、以前の優先度の低い場所に置きます

最初のテスト:テスト野生の複数の優先順位は、位置/テストを追加しました

[ルート@ localhostのconfに]#カール-v 127.0.0.1:80/test

<HTTP / 1.1 401権限

試験結果:位置より/試験高い優先順位/

第二の試験:場所通常の優先度のテスト、私たちは^〜/テストを追加し、テストの開始と定期的な一致を使用

[ルート@ localhostの〜]#カール-v 127.0.0.1:80/test

<HTTP / 1.1 402支払いが必要です

試験結果:優先度の高い/テストと〜^ /テストは、つまり、通常の場所は、野生の場所の優先度よりも大きいです

第三のテスト:より多くの定期的な優先順位のテスト、私たちは主に次を検証するために、通常の2を使用し、より規則的な構成、高い優先順位ではありません。

[ルート@ localhostの〜]#カール-v 127.0.0.1:80/test/aaa

<HTTP / 1.1 402支払いが必要です

テスト結果:402結果は、試合への後の最初の肯定である、返された定期的な試合の下に行くことはありません。定期的に無効である下のように、要求/テスト/ AAAので、^ /テストを打ちます

第四テスト:私たちは、正確なマッチに参加する、つまり、nginxのの=、私たちの次のテストマッチ正確に優先順位

[ルート@ localhostの〜]#カール-v 127.0.0.1:80/test/aaa

見つかりませんでした<HTTP / 1.1 404

テスト結果は:404を返します。これは、説明して正確に一致=最高の優先度を関係なく、それが置かれた場所の、。

 

おすすめ

転載: www.cnblogs.com/cxm123123form/p/11539809.html