nginx で特定のドメインや特定のディレクトリへの IP アドレスによるアクセス制限をする方法

nginx でアクセス制限を書けるには下記のように設定ファイルに書きます。

1
2
allow 192.168.0.1;
deny all;

実際の設定ファイルに書き込むと下記のような感じです。

1
2
3
4
5
6
7
8
9
10
11
12
13
server {
 
    listen      80;
    server_name example.com;
 
    allow 123.456.78.90;
    deny all;
 
    location / {
        index  index.php index.html index.htm;
    }
 
}

特定のディレクトリの指定でも可能です。

1
2
3
4
5
6
7
8
9
10
11
server {
 
    listen      80;
    server_name example.com;
 
    location ~^/admin {
        allow 192.168.0.1;
        deny all;
    }
 
}

location 内に設定すれば、特定のファイル名にはアクセスさせないとか、特定のディレクトリにはアクセスさせないなどの様々な設定が可能です。.htaccess でアクセス制限をかけていた人は、.htaccess が使えないのでアクセス制限が効いてないと思いますので、nginx に乗り換えたらまず最初にチェックしたい項目ですね。

コメント

コメントは受け付けていません。