福尔摩斯:DDoS攻击期间Redis数据库过载案

福尔摩斯:DDoS攻击期间Redis数据库过载案

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

在一次DDoS攻击中,Redis数据库容量达到80%。调查发现,许多无效会话是由于每个请求生成新会话。通过设置`saveUninitialized: false`和在读取消息后销毁会话,问题得到解决。

🎯

关键要点

  • 在一次DDoS攻击中,Redis数据库容量达到80%。
  • 调查发现,许多无效会话是由于每个请求生成新会话。
  • 通过设置'saveUninitialized: false'选项,解决了会话生成过多的问题。
  • 在实施代码更改后,仍然发现Redis存储持续增长。
  • 发现flash包在公共端点上使用,导致用户会话保持为空。
  • 通过在读取消息后销毁会话,最终解决了问题。

延伸问答

DDoS攻击对Redis数据库造成了什么影响?

DDoS攻击导致Redis数据库容量达到80%。

为什么会生成大量无效会话?

因为每个请求生成新会话,导致大多数会话无效。默认情况下,express-session会为每个没有附加cookie的请求创建新会话。

如何解决Redis数据库容量过载的问题?

通过设置'saveUninitialized: false'选项和在读取消息后销毁会话来解决问题。

在调查中发现了什么导致Redis存储持续增长?

发现flash包在公共端点上使用,导致用户会话保持为空,从而不断生成新会话。

如何处理Redis中的无效会话?

编写脚本从Redis中删除无效会话。

最终如何解决Redis数据库容量问题?

通过在读取消息后销毁会话,最终解决了Redis数据库容量问题。

➡️

继续阅读