nginxの場所の構成について調べるとき、いくつか質問があります。これが私の例です。
ファイル構造は次のようになります:test1 / index.html test2 / index.html
そしてnginx.confの場所の部分は以下のようになります:
location = / {
root test1;
index index.html;
# deny all;
}
location / {
root test2;
index index.html;
}
問題は、curl -v http:// host /を発行すると、test2 / index.htmlのページが表示されますが、location = / {}の部分の#を削除すると、結果は403になります。禁止されています。誰かが理由を説明できますか?location = same_uri {A}とlocationsame_uri {B}の両方が構成ファイルにある場合、どちらの構成が[AまたはB]に一致しますか?どうもありがとうございました。
http://nginx.org/en/docs/http/ngx_http_core_module.html#location
URIをリクエストすると/
、nginx
は2つのリクエストを処理します。
(URIの/
)最初の要求はlocation = /
ブロックによって処理されます。これが最も優先度が高いためです。そのブロックの機能は、リクエストをに変更/index.html
し、一致するlocation
ブロックの検索を再開することです。
2番目のリクエスト(URIの場合/index.html
)はlocation /
ブロックによって処理されlocation
ます。これは、より具体的なに一致しないURIに一致するためです。
したがって、最終的な応答は2番目のlocation
ブロックから取得されますが、両方のブロックがアクセスの評価に関与します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加