リソースへのアクセスを一度に 1 つの IP アドレスのみに制限する必要があります。
すべてのリクエストが単一のプロセスから処理されるため、Node.js ではこれを行うのは非常に簡単です。
リクエストが作成されたときに IP アドレスをオブジェクトに入力し、新しいリクエストが重複について入ったときにそのオブジェクトをチェックできます。
Express を使用していて、モジュールにルートがある場合は、IP 接続オブジェクトをルート モジュールのトップ レベルに配置できます。
var connectedIPs = {};
exports.myDownloadRoute = function(request, response) {
var IP = request.connection.remoteAddress;
if(connectedIPs.IP) {
response.redirect("http://mysite.com/download_rules.html");
return;
}
connectedIPs.IP = true;
// pseudo send a file call, replace this with your code
send_a_file(function(err) {
// done sending or error, remove from connectedIPs
delete connectedIPs.IP;
});
}