2

我有一个在 Tomcat 上运行的 Grails 应用程序,使用 MySQL 作为数据库服务器。

我通过测试发现很容易在站点上创建拒绝服务攻击,只需多次刷新页面(即按住F5)。这会导致服务器上的负载随着与 MySQL 数据库的连接数一起迅速增加。

最终,该站点变得无响应,并且可能需要几分钟才能恢复正常。

任何人都可以推荐调试方法吗?

我应该看看缓存吗?

4

1 回答 1

3

我不建议在 grails 层处理 DOS 攻击。我总是建议在 Java Web 应用程序前面放置一个像 nginx 或 apache 这样的服务器。然后可以将 Web 服务器配置为代理您的 Web 应用程序。Web 服务器前面的防火墙创建了另一层安全性。如果您尝试在 Web 应用程序层解决 DOS 攻击,您很可能为时已晚。

关于 DOS 的快速参考在这里:http ://en.wikipedia.org/wiki/Denial-of-service_attack

缓存并不意味着修复 DOS 攻击顺便说一句。它旨在提高应用程序性能。许多 DOS 攻击发生在套接字级别。

同样,我不建议在 Web 应用程序级别阻止 DOS。不管你用什么语言写作。

我的另一个问题是您是否对您的应用程序进行了负载测试?您可能会遇到基本性能问题。我建议查看商业工具或基于 Web 的负载调整服务。我猜您实际上看到的是自定义 Web 应用程序性能问题,而不是 DOS 问题。

于 2013-03-12T12:00:32.583 回答