![6173ee6bf1e478c4cb3ed74a01cb0636.png](https://i-blog.csdnimg.cn/blog_migrate/33ac5ed5ffd191dcbb3e975a72fc2ec2.jpeg)
connectTimeout指没有数据访问下,connect保留的时间,tomcat的默认设置为20s。这样就可能造成相关的安全问题,比如每隔19s秒发送一次数据,从而占用连接,造成慢攻击。
https://blog.csdn.net/qinyushuang/article/details/43274383blog.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](https://i-blog.csdnimg.cn/blog_migrate/c2840fccfef0e7c9ce9c97caa0c065af.jpeg)
![5b47d434cbfb62b6d7193778c3cb2b13.png](https://i-blog.csdnimg.cn/blog_migrate/1d386c543cf824831762f02022ef2790.jpeg)
2000个连接能够正常运行,前端平均查询无明星变慢。
![8fb880b375ce9519b443197ff0036563.png](https://i-blog.csdnimg.cn/blog_migrate/a462ab7df5a0f727538a979d51b406a8.jpeg)
3000个连接能够正常运行,前端查询时间稍稍变慢。
![e09932d2bdd60cf7e36896a97d11b8dc.png](https://i-blog.csdnimg.cn/blog_migrate/cb420fdb64906a8b55d263eaf3c74ad1.jpeg)
4000个连接能够正常运行,前端查询时间稍稍变慢。
![923e0ab39654316e3a203b4418cdef59.png](https://i-blog.csdnimg.cn/blog_migrate/55d61195958a89b310564b3300020f5c.jpeg)
5000个连接服务出现不可用的情况,且多次尝试依然不可用。
![e6312c60799e57078e3b9f7c0b1ff0b8.png](https://i-blog.csdnimg.cn/blog_migrate/c9af23048c2405a28cdd068ed93499cd.jpeg)
将connectTimeout修改为2秒,接口能够正常运行。
![2f3763724f39f27ed860c149eee6abfc.png](https://i-blog.csdnimg.cn/blog_migrate/f59586cb9f3f8f5d846d8e68d155e775.png)
![b8a14a413c23965c5ecbf7cec27ef91a.png](https://i-blog.csdnimg.cn/blog_migrate/ad463925979562274c5b1981e72e581c.jpeg)
将connectTimeout修改为2秒后,6000个连接也能够访问tomcat。
![bc78d65852c95a244f396b6082d86882.png](https://i-blog.csdnimg.cn/blog_migrate/788c8f0c890288095e08a8f02ae940b7.jpeg)
所以我们应该考虑网络情况适当缩短连接等待时间,从而提高系统的可用性。