【问题标题】:How to get node.js/socket.IO server work with cloudflare?如何让 node.js/socket.IO 服务器与 cloudflare 一起工作?
【发布时间】:2014-02-26 03:15:38
【问题描述】:

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

例如:

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

这将是我 ping 使用 cloudflare 的域时的 IP。我尝试直接连接到它。

即使尝试连接到域本身似乎也不起作用

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

唯一可行的方法是直接连接到服务器,而不通过 cloudflare(从而泄露 IP)

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

【问题讨论】:

  • 无法连接到 cloudflare 域,因为它们不会将端口转发到您的服务器。这个问题不应该通过默默无闻来解决,而是通过负载平衡器或类似的东西来解决。您也可以只创建一个子域并将其指向您的源服务器,但仍然可以计算出 IP。
  • @rob 有什么可以防止普通 DDoS 攻击的建议吗?
  • 基于流量的规模,我不知道有什么具体的插件解决方案,你试过搜索吗?这完全取决于您要管理的服务类型、预算和基础设施。

标签: javascript node.js cloudflare


【解决方案1】:

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

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

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

【讨论】:

  • 当你找到修复它时请告诉我!
猜你喜欢
  • 2019-06-07
  • 1970-01-01
  • 2010-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多