nginx location〜*および〜とは


15

私はnginxをもう少しよく理解しようとしており、一致しないすべてのURLが/api/postdataV1異なるサーバーのクラスターにルーティングされる正規表現を形成しようとしています。私は説明なしで例でこれらの2つのものを見続けています

location ~ {some regex}

location ~* (some regex}

私の最初の質問は、これらは何で~あり~*~正規表現を指定しているという意味ですか?)、しかし~*その後はどうですか?

私が欲しいのはこれです。これは正しいでしょうか?

location ~ ^/api/postdataV1$ {
    #matches to this route to where I want
}

location / {
    #This will be everything except /api/postdataV1 I think
}

これは正しいでしょうか?しかし、どう~*ですか...私はそれを取得しません

ありがとう、ディーン


wikiは常に最初に見る価値があります。
あそこからあの男

1
私はドキュメントに目を通しましたが、正しいリンクが見つからず、「ロケーション」のドキュメントページにたどり着きました。(覚えているウィキは、ドキュメントが最新のものであると私に言及しました)。
ディーンヒラー

私はグーグルだnginx location、最初のヒットはこれです :)しかし、私は認めなければなりません、人はnginx-documentation、特にに慣れなければなりません モジュールセクションの下に正しいものを見つける。
あそこの男

1
検索クエリを使用したGoogleの最初のページは、私が最初に読んだものでした... wiki.nginx.org/HttpCoreModuleは、記事が古くなって別のページにつながると言っています(Googleは異なる結果に基づいて、ログインしている場合は誰で、どのサーバーにアクセスするか)私はグーグルを使用して周りを読んで揺れた以下のページにはまったく到達しませんでした:(!!!
Dean Hiller

回答:


16

nginxのドキュメントで述べられているように、~*正規表現は大文字と小文字を区別しないマッチング用で~あり、大文字と小文字を区別します。

構文は問題ありませんが、正規表現を使用せずに書き換えることができます(最短の場所はリクエストの照合で最後になります)。

location /api/postdata {
}

location / {
}

1
ああ、クールな...ええ、私は〜*グーグルで試みたが、Googleはないインデックス特殊文字あまりにも(私はおそらく正しい、そのページ上に着弾したと同じように、あまりにも悪いnginxのではなく、ディレクティブを使用していませんでした)ん
ディーン・ヒラー

@DeanHiller googleがそのバグを修正したように見える:D
Yarek T

あなたの答えが正しくない可能性があります/api/PostDataせずに一致しません~*
Devy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.