将socket.io客户端连接到不同的主机

时间:2017-12-21 23:17:56

标签: javascript websocket server socket.io hosting

所以我的网站托管在godaddy上,现在我想将它连接到运行socket.io的服务器,我在digitalocean上有一些平衡。但是,我不确定如何做到这一点,我认为对于客户端来说应该是这样的?

var socket = io.connect('http://Digital.ocean.ip.here:port');

然后像这样的服务器端

http.listen(port, function(){
  console.log('listening on *:port');
});

唯一的问题是,如果这是我应该这样做的(如果它不是本地主机,它甚至可能),用户将能够看到我的Droplet的ip源代码,也许DDOS它或者更糟糕我不知道? 当我看到其他站点使用socket.io进行聊天时,我从未看到他们的IP。这是否意味着他们将整个网站托管在服务提供商处,他们可以使用socket.io/node.js? 任何答案都将受到高度赞赏!

- Edit--
我的客户不接受http,因此我决定购买域名和ssl,以便使用https。

1 个答案:

答案 0 :(得分:0)

没有办法隐藏浏览器连接的服务器的IP地址。与服务器的连接是http还是socket.io或任何其他基于TCP的连接没有区别。任何人都可以看到IP地址。所以,这根本不是你可以保护或应该担心的事情。

在大多数情况下,代码将使用DNS主机名(而不是IP地址),但DNS服务本身提供了查找主机名的IP地址的方法,因此可以通过这种方式获取IP地址。或者,可以加载调试器或本地网络窥探器,轻松查看连接的IP地址。主持人的IP地址根本不是秘密。

如果您担心DDOS,那么您将不得不从这些类型的攻击中实施服务器端保护。您无法在客户端执行任何操作以防止此类攻击。