将 socket.io 客户端连接到不同的主机
Connecting socket.io client to different 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 的服务提供商上?
任何答案将不胜感激!
--编辑--
我的客户不接受 http,因此我决定购买一个域和 ssl,以便它使用 https。
没有办法隐藏浏览器连接的服务器的 IP 地址。与服务器的连接是 http 还是 socket.io 或任何其他基于 TCP 的连接都没有区别。任何人都可以看到 IP 地址。所以,这根本不是你可以保护或应该担心的事情。
在大多数情况下,代码将使用 DNS 主机名(而不是 IP 地址),但 DNS 服务本身提供了一种查找主机名的 IP 地址的方法,因此可以通过这种方式获取 IP 地址。或者,只需加载调试器或本地网络窥探器,即可轻松查看正在连接的 IP 地址。主机的 IP 地址根本不是秘密。
如果您担心 DDOS,则必须实施服务器端保护以免受这些类型的攻击。您无法在客户端中执行任何操作来防止此类攻击。
所以我的一个网站托管在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 的服务提供商上? 任何答案将不胜感激!
--编辑--
我的客户不接受 http,因此我决定购买一个域和 ssl,以便它使用 https。
没有办法隐藏浏览器连接的服务器的 IP 地址。与服务器的连接是 http 还是 socket.io 或任何其他基于 TCP 的连接都没有区别。任何人都可以看到 IP 地址。所以,这根本不是你可以保护或应该担心的事情。
在大多数情况下,代码将使用 DNS 主机名(而不是 IP 地址),但 DNS 服务本身提供了一种查找主机名的 IP 地址的方法,因此可以通过这种方式获取 IP 地址。或者,只需加载调试器或本地网络窥探器,即可轻松查看正在连接的 IP 地址。主机的 IP 地址根本不是秘密。
如果您担心 DDOS,则必须实施服务器端保护以免受这些类型的攻击。您无法在客户端中执行任何操作来防止此类攻击。