gpt4 book ai didi

java - CXF 网络服务节流

转载 作者:搜寻专家 更新时间:2023-11-01 02:53:44 27 4
gpt4 key购买 nike

我是 CXF 的新手,我想知道它是否有任何内置机制可以限制对 Web 服务的并发调用数量,从而解决 DoS 攻击的可能性?类似于 WCF 的这个功能?

http://www.danrigsby.com/blog/index.php/2008/02/20/how-to-throttle-a-wcf-service-help-prevent-dos-attacks-and-maintain-wcf-scalability/

最佳答案

CXF 有一些能力可以开箱即用地完成其中的一些工作。 CXF 端点可以在调用程序上配置一个工厂,用于获取调用的对象。开箱即用的 PooledFactory 可以维护实例池。它可以设置为创建超出最大值的额外实例,从而等待更多实例被释放。这可以稍微限制一下。您可以通过 spring config 或通过 impl 上的注释来配置它:

@FactoryType(value=FactoryType.Type.POOLED, args={"25"})

(25 是池的最大大小)

但是,这在处理过程中已经很晚了。当它到达那里时,所有 XML 都已被解析,jaxb 对象已创建,等等......对于 DOS,您可能希望早点停止。您可以实现一个在链的早期存在的拦截器,该拦截器会将计数存储在端点上。在传入链上递增和检查,在传出链上递减。

关于java - CXF 网络服务节流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5994620/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com