2014-02-26 70 views
2

我有一个最近受到攻击的node.js/socket.IO服务器,所以我决定开始使用cloudflare来隐藏我的服务器IP。但是,任何人都可以从客户端JavaScript文件轻松获取服务器IP。有什么我可以通过cloudflare而不是我的服务器直接连接,所以我可以帮助防止攻击者获得服务器IP?如何让node.js/socket.IO服务器与cloudflare一起使用?

例如为:

var client = io.connect('http://141.101.xxx.xxx:466'); 

这将是IP,当我平安正在使用的CloudFlare域。我尝试直接连接到它。

即使试图连接到域本身似乎并没有工作

var client = io.connect('http://mydomainthatusescloudflare.com:466'); 

只有工作是直接连接到服务器,而无需通过CloudFlare的打算(从而显示出IP)的事情

var client = io.connect('http://217.xxx.xxx.xxx:466'); 
+2

连接到cloudflare域将不起作用,因为它们不会将端口转发到您的服务器。这个问题不应该通过默默无闻的方式来解决,而应该通过负载平衡器或类似的东西来解决。您也可以创建一个子域并将其指向您的原始服务器,但IP仍可能被发现。 – Roberto

+0

@rob对一些可以防止平均DDoS攻击的任何建议? – Justin

+0

根据流量进行比例缩放,我不知道任何特定的插入式解决方案,您是否尝试过对其进行搜索?这完全取决于您想要管理的服务种类,预算和基础设施。 – Roberto

回答

1

可以使用cfdomain:80为socket.io并加入这一行,

io.set("transports", ["xhr-polling", "jsonp-polling"]); 

但断开连接的事件不起作用。我正在修复它。

+1

当你找到修补程序时请告诉我! – Justin

相关问题