tomcat拒绝访问是为什么_Tomcat中的connectTimeout和慢攻击

6173ee6bf1e478c4cb3ed74a01cb0636.png

connectTimeout指没有数据访问下,connect保留的时间,tomcat的默认设置为20s。这样就可能造成相关的安全问题,比如每隔19s秒发送一次数据,从而占用连接,造成慢攻击。

https://blog.csdn.net/qinyushuang/article/details/43274383​blog.csdn.net

借助slowhttptest我们发起慢攻击,具体安装参考下文。

缓慢的Http拒绝服务攻击漏洞的验证(slowhttptest的安装) - shy的博客 - CSDN博客​blog.csdn.net

第一步我们先利用起一个简单的tomcat容器。

slowhttptest -c 1000 -X -g -o -slow_read_stats -r 200 -w 512 -y 1024 -n 5 -z 32 -k 3 -u http://127.0.0.1:8088 -p 3

我们用1000到5000个连接对tomcat进行测试,并修改connectTimeout来判断其对服务器的影响。

tomcat 默认的connectTimeout为20秒。

说明:服务器1C2G 阿里云,tomcat运行在docker中。

1000个连接能够正常运行,前端查询时间正常。

869330668d128e8bb57420d345c277e2.png

5b47d434cbfb62b6d7193778c3cb2b13.png

2000个连接能够正常运行,前端平均查询无明星变慢。

8fb880b375ce9519b443197ff0036563.png

3000个连接能够正常运行,前端查询时间稍稍变慢。

e09932d2bdd60cf7e36896a97d11b8dc.png

4000个连接能够正常运行,前端查询时间稍稍变慢。

923e0ab39654316e3a203b4418cdef59.png

5000个连接服务出现不可用的情况,且多次尝试依然不可用。

e6312c60799e57078e3b9f7c0b1ff0b8.png

将connectTimeout修改为2秒,接口能够正常运行。

2f3763724f39f27ed860c149eee6abfc.png

b8a14a413c23965c5ecbf7cec27ef91a.png

将connectTimeout修改为2秒后,6000个连接也能够访问tomcat。

bc78d65852c95a244f396b6082d86882.png

所以我们应该考虑网络情况适当缩短连接等待时间,从而提高系统的可用性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值