Nginx では、特定の URL に対して特定のネットワーク セグメントのみが許可されており、次の構成を使用できます。
location /restricted {
allow 192.168.1.0/24;
deny all;
}
上記の構成では、IP アドレス範囲 192.168.1.0/24 内のすべての IP アドレスを除く、すべての IP アドレスによる /restricted URL パスへのアクセスが拒否されます。
複数のネットワーク セグメントからのアクセスを許可する場合は、allow コマンドの後に複数のネットワーク セグメントを追加できます。次に例を示します。
location /restricted {
allow 192.168.1.0/24;
allow 10.0.0.0/8;
allow 172.16.0.0/12;
deny all;
}
上記の構成は、上記の 3 つの IP アドレス範囲内のすべての IP アドレスのみが /restricted URL パスへのアクセスを許可されることを示しています。
Nginxのallowコマンドとdenyコマンドは順番に実行されることに注意してください。したがって、複数の許可コマンドと拒否コマンドを使用する場合は、それらの位置と順序に注意する必要があります。同時に、サブネットマスクを使用してアクセスを制限する場合は、サブネットマスクと IP アドレスの対応関係が正しいことを確認してください。そうでないと、予期しない問題が発生する可能性があります。