【发布时间】:2015-06-12 14:21:57
【问题描述】:
我在tcp server 中使用了以下sample code
var server = net.createServer();
server.on('connection', function (socket) {
if(restrictedIP == sock.remoteAddress){
//How to close the particular connection safely without
//affecting other connections
}
socket.on('data', function(data) {
console.log(data);
});
socket.on('close', function(data) {
console.log('client disconnected');
});
});
server.listen(3000, '127.0.0.1');
注意:我有一个检查来验证客户端/服务器 ip(第 3 行)。
问题:
这个逻辑听起来是否适合验证客户端/服务器。
主要内容,如何从受限 IP 地址关闭特定连接。(第 4 行 - 注释)
场景:
我有两台服务器,一台是客户端服务器,它是 express/http 服务器,我们将其命名为 server1-express,另一台是名为 server2-tcp 的 tcp 服务器。
server1-express服务器将使用 tcp 与server2-tcp通信。server2-tcp应该只允许这个特定的server1-express服务器,它不应该允许连接到任何其他 ip,使用 socket.destroy() 将使
server2-tcp崩溃。使用 socket.end() 将强制我们
write到服务器。
如何只允许特定的ip 并拒绝所有其他ip 访问?
任何帮助或建议将不胜感激
【问题讨论】:
标签: javascript node.js events authentication tcp