上の図は、nginx の最長一致原則に従って構成した簡単な例です。目的は、/ へのすべてのアクセスを拒否しますが、/hello にアクセスする場合は正常にジャンプできるようにすることです。ただし、キャッシュバックの場合は、へのアクセスが必要です。 /hello はまだ 403 ですが、書き換えログには nginx が私のルールに一致したことが記録されていますが、それでも 403 が返されるのはなぜですか? 理解を助けてください。ありがとうございます!
怪我咯2017-05-27 17:47:03
場所 / すべてのリクエストに一致します
次のように変更できます
リーリー文法規則: location [=|~|~*|^~] /uri/ { … }
= 先頭は完全一致を意味します
^~ 先頭は URI が通常の文字列で始まることを意味し、一致すると理解できますURL パス。 nginx は URL をエンコードしないため、リクエストは /static/20%/aa となり、ルール ^~ /static/ /aa (スペースに注意してください) と一致します。
~ の先頭は大文字と小文字を区別する正規一致を示します
~* 先頭は大文字と小文字を区別しない正規一致を示します
!~ と !~* はそれぞれ大文字と小文字を区別する非一致と大文字と小文字を区別しない非一致の正規一致を示します
/ ユニバーサル マッチング, どんなご要望にも応えます