nginxでIPを無効にする方法

Nginx で特定の IP を無効にする方法はいくつかあります。

1.deny命令を使用する: Nginx 構成ファイルで、deny特定の IP からのアクセスを禁止する命令を使用できます。たとえば、IP アドレス 192.168.1.100 へのアクセスを拒否するには、構成ファイルに次の内容を追加します。

location / {
    deny 192.168.1.100;
    ...
}

このようにして、リクエストが IP アドレス 192.168.1.100 から来た場合、Nginx は 403 Forbidden エラーを返します。

allow2. 使用法と指示の組み合わせdeny: IP アクセスは、使用法allowと指示denyの組み合わせによって制限できます。たとえば、IP アドレス 192.168.1.0/24 からのアクセスを許可し、IP アドレス 192.168.1.100 からのアクセスを拒否するには、構成ファイルに次の内容を追加します。 

location / {
    allow 192.168.1.0/24;
    deny 192.168.1.100;
    ...
}

これにより、IP アドレス 192.168.1.100 のリクエストを除き、他の IP アドレスによるアクセスが許可されます。

3. HTTP モジュールlimit_connとディレクティブを使用します。とディレクティブlimit_reqを使用して特定の IP からのアクセスを禁止するだけでなく、HTTP モジュールディレクティブを使用して、特定の IP への接続数と要求頻度を制限することもできます。これらのディレクティブは、Nginx の構成ファイル内のブロックに設定できますたとえば、IP アドレス 192.168.1.100 の接続数を 1 に制限し、そのリクエスト頻度を 10 リクエスト/秒に制限するには、構成ファイルに次の内容を追加します。denyallowlimit_connlimit_reqhttp

http {
    ...
    limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
    limit_conn conn_limit_per_ip 1;
    limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=10r/s;
    limit_req zone=req_limit_per_ip burst=20;
    ...
}

このように、IP アドレス 192.168.1.100 のクライアントの接続数が 1 を超えるか、リクエスト頻度が 10 リクエスト/秒を超えると、Nginx はアクセスを制限します。上記の方法により、Nginx の特定の IP へのアクセスを効果的に無効にすることができます。

おすすめ

転載: blog.csdn.net/weixin_39934453/article/details/131582413