Maison  >  Questions et réponses  >  le corps du texte

Règles de réécriture de Nginx perplexes

L'image ci-dessus est un exemple simple que j'ai configuré sur la base du principe de correspondance la plus longue de nginx. Le but est de refuser tout accès à /, mais de pouvoir sauter normalement lors de l'accès à /hello. Cependant, lors de l'accès à /hello, il revient toujours. 403, mais il est réécrit. Le journal indique que nginx correspond effectivement à mes règles. Pourquoi me renvoie-t-il toujours 403 ? Merci beaucoup !

習慣沉默習慣沉默2701 Il y a quelques jours839

répondre à tous(2)je répondrai

  • 怪我咯

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

    localisation / peut répondre à toutes les demandes

    Vous pouvez le modifier comme suit

     location = / {
        deny all;
     }

    Règles de grammaire : location [=|~|~*|^~] /uri/ { … }
    = Le début signifie une correspondance exacte
    ^~ Le début signifie que l'uri commence par une chaîne régulière, qui peut être comprise comme une correspondance le chemin de l'URL. nginx n'encode pas l'URL, donc la requête est /static/20%/aa, qui peut correspondre à la règle ^~ /static/ /aa (notez l'espace). Le début de
    ~ indique une correspondance régulière sensible à la casse
    ~* Le début indique une correspondance régulière insensible à la casse
    !~ et !~* sont respectivement une non-correspondance sensible à la casse et une correspondance régulière non-correspondante insensible à la casse
    / correspondance universelle , Toute demande sera satisfaite

    répondre
    0
  • 曾经蜡笔没有小新

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

    Parce que /test00 après la réécriture correspond à l'emplacement /

    Vous devez ajouter un emplacement ~ ^/test00 et activer l'accès

    répondre
    0
  • Annulerrépondre