ホームページ  >  に質問  >  本文

不可解な nginx 書き換えルール

上の図は、nginx の最長一致原則に従って構成した簡単な例です。目的は、/ へのすべてのアクセスを拒否しますが、/hello にアクセスする場合は正常にジャンプできるようにすることです。ただし、キャッシュバックの場合は、へのアクセスが必要です。 /hello はまだ 403 ですが、書き換えログには nginx が私のルールに一致したことが記録されていますが、それでも 403 が返されるのはなぜですか? 理解を助けてください。ありがとうございます!

習慣沉默習慣沉默2701日前844

全員に返信(2)返信します

  • 怪我咯

    怪我咯2017-05-27 17:47:03

    場所 / すべてのリクエストに一致します

    次のように変更できます

    リーリー

    文法規則: location [=|~|~*|^~] /uri/ { … }
    = 先頭は完全一致を意味します
    ^~ 先頭は URI が通常の文字列で始まることを意味し、一致すると理解できますURL パス。 nginx は URL をエンコードしないため、リクエストは /static/20%/aa となり、ルール ^~ /static/ /aa (スペースに注意してください) と一致します。
    ~ の先頭は大文字と小文字を区別する正規一致を示します
    ~* 先頭は大文字と小文字を区別しない正規一致を示します
    !~ と !~* はそれぞれ大文字と小文字を区別する非一致と大文字と小文字を区別しない非一致の正規一致を示します
    / ユニバーサル マッチング, どんなご要望にも応えます

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-27 17:47:03

    書き換え後の/test00がlocationと一致するため/

    場所 ~ ^/test00 を追加してアクセスを有効にする必要があります

    返事
    0
  • キャンセル返事