Nếu bạn đang hạn chế quyền truy cập vào toàn bộ máy chủ toàn bộ máy chủ bởi địa chỉ mạng, tốt nhất là nên đặt những quy tắc đó trong tường lửa của bạn. Nếu bạn muốn xử lý nó ở tầng ứng dụng vì lý do nào đó (dễ cấu hình, ủy quyền động, v.v.) thì tốt nhất là làm điều này ngay lập tức khi kết nối thay vì chờ đợi một yêu cầu HTTP.
Node.js 'http.Server emits a connection
event mà bạn có thể sử dụng để xác định địa chỉ từ xa và hủy kết nối trước (hoặc trong) yêu cầu HTTP thực tế. Mã này chưa được kiểm tra nhưng sẽ giúp bạn bắt đầu:
var server = http.createServer(function (req, res) {
// Your normal request handling goes here
});
server.on('connection', function (sock) {
console.log(sock.remoteAddress);
// Put your logic for what to do next based on that remote address here
});
server.listen(80);
Điểm rất tốt. Tôi hiện đang sử dụng một hệ thống mà tôi đăng nhập của ip từ nodejs và có một kịch bản shell chạy định kỳ để cập nhật iptables tương ứng. Bạn chắc chắn chính xác khi bạn nói 'đặt những quy tắc trong tường lửa của bạn, trước khi nó chạm vào lớp ứng dụng'. –