nginx。リクエストを処理するためにどの場所が使用されるかをテストする質問する

nginx。リクエストを処理するためにどの場所が使用されるかをテストする質問する

特定の場所が でリクエストを処理するために使用されたかどうかをどのように確認すればよいか知りたいですnginx

例えば:

# 1
location / {}

# 2
location ~ /[\w\-]+\.html {}

# 3
location ~ /\w+\.html {}

URIのようなURLが2番目ではなく3番目の場所で処理されているかどうかを知るにはどうすればよいですか/mysite?私は通常、add_headerこの件に関して:

location / {
    add_header location 1;
}

location ~ /(\w+\-)\.html {
    add_header location 2;    
}

location @named {
    add_header location named;
}

もっと良い解決策があるか、あるいはデバッグの目的で個人的に何を使用しているかを知りたいです。

ベストアンサー1

どのブロックが使用されたかを確認するだけで、それ以外の有効な結果を返すことを気にしない場合は、 よりも を使用する方が簡単かもしれませreturnadd_header

location / {
    return 200 'location 1';
}

location ~ /(\w+\-)\.html {
    return 200 'location 2';    
}

location @named {
    return 200 'location named';
}

おすすめ記事