Caching Grails/Tomcat:避免拒绝服务攻击

Caching Grails/Tomcat:避免拒绝服务攻击,caching,tomcat,grails,denial-of-service,Caching,Tomcat,Grails,Denial Of Service,我有一个运行在Tomcat上的Grails应用程序,数据库服务器是MySQL 我通过测试发现,只需多次刷新页面(即按住F5键),就很容易在站点上创建拒绝服务攻击。这会导致服务器上的负载随着到MySQL数据库的连接数的增加而迅速增加 最终,网站变得没有响应,可能需要几分钟才能恢复正常 有人能推荐调试这个的方法吗 我应该看看缓存吗?我不建议在grails层处理DOS攻击。我总是建议将nginx或apache这样的服务器放在javaweb应用程序前面。然后可以将web服务器配置为代理您的web应用程序

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

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

最终,网站变得没有响应,可能需要几分钟才能恢复正常

有人能推荐调试这个的方法吗


我应该看看缓存吗?

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

有关DOS的快速参考信息如下:

顺便说一句,缓存不是为了修复DOS攻击,而是为了提高应用程序性能。许多DOS攻击发生在套接字级别

同样,我不建议在web应用程序级别防止DOS。不管你用哪种语言写作

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