next up previous contents
Next: 9.2 Basic認証 Up: 9.1 アクセス制御 Previous: 9.1.2 geo

9.1.3 limit_except

limit_except は、制限の対象外のメソッドを指定し、 location コンテキストで利用できます。

   limit_except  method ...   { ... } ;

method には、 GET, HEAD, POST, PUT, DELETE, MKCOL, COPY, MOVE, OPTIONS, PROPFIND, PROPPATCH, LOCK, UNLOCK, PATCH が使えます。但し、 GET メソッドを許可すると、HEADメソッドも自動的に許可されます。 ここで明示していない他のメソッド へのアクセスは、{...} に指定された、 先に紹介したhttp_access_methodの allow,deny ディレクティブや、 次のBasic認証などで制限されます。

#例
    location / {
        ...
        limit_except  GET {
            allow  192.168.0.0/16;
            deny   all;
        }
    }

上の例では、 / への HEAD, GET は無制限に許可されますが、 それ以外のメソッドは、192.168.0.0/16 からのアクセス以外は 全て禁止されます。 また、メソッドには、上に上げたメソッドを複数指定することが出来ます。

#例
    location / {
        ...
        limit_except  GET POST HEAD {
            allow  192.168.0.0/16;
            deny   all;
        }
    }



Noriyo Kanayama