Nginx で IPアドレスによるアクセス制限

2011 年 4 月 14 日

 Nginx がついに version1.0.0 でリリースされましたね!Nginx は速いのと設定ファイルが書きやすいので大好きです。

 Nginx で特定IPアドレスからのアクセスを許可するには、allow, deny を使う。初めにマッチしたところで評価が終了するようなので、deny all; と先頭に書いてしまうと誰も見られなくなってしまうので注意。サブネットでの指定も、単一IPアドレスでの指定もいけます。

server {
    listen       80;
    server_name  ecpplus.net;
 
    allow 192.168.1/24;
    allow 111.111.111.111;
    deny all;
    ...
}

のようにします。location ディレクティブの中に入れても大丈夫です。 /admin 以下のみ制限を掛けたい場合は、下記のようにします。

server {
    listen       80;
    server_name  ecpplus.net;
 
    location ~^/admin {
        allow 192.168.1.10;
        deny all;
    }
    ...
}

タグ: