Comments (6)
我觉得可能是有非法的客户端请求导致的。请求头部的前4个字节是包体的大小,如果非法的客户端发送一个无效的请求,头部前4个字节所表示的包体的大小非常大,那么在分配内存时就会导致内存溢出。在 hprose 3.0 中,tcp 请求头部增加了一个crc32的校验,并且可以设置请求最大长度的限制,可以有效的防止这种非法请求。不过 java 版本暂未实现 hprose 3.0。
目前 hprose-java 2.0 的 tcp 服务最好是部署在内网,防止有非法的客户端来访问到它。如果部署在公网的话,最好用 hprose 的 http 服务。
from hprose-java.
我觉得可能是有非法的客户端请求导致的。请求头部的前4个字节是包体的大小,如果非法的客户端发送一个无效的请求,头部前4个字节所表示的包体的大小非常大,那么在分配内存时就会导致内存溢出。在 hprose 3.0 中,tcp 请求头部增加了一个crc32的校验,并且可以设置请求最大长度的限制,可以有效的防止这种非法请求。不过 java 版本暂未实现 hprose 3.0。
目前 hprose-java 2.0 的 tcp 服务最好是部署在内网,防止有非法的客户端来访问到它。如果部署在公网的话,最好用 hprose 的 http 服务。
感谢回复!
目前这边所有的RPC接口都有访问log,但是没有看到异常访问的log,所以也定位不了是否属于非法访问。
从异常的堆栈来分析也没有什么帮助。所以有没有什么办法可以帮我确定问题的。再次感谢~
from hprose-java.
这个异常是在接收数据时产生的,因此,还到不了 log 的位置。
from hprose-java.
这个异常是在接收数据时产生的,因此,还到不了 log 的位置。
ok,我接下来会做好访问限制,添加ip白名单,来排除这方面的原因,以后也会陆续跟踪此问题。
最后期待3.0版本早日上线~
from hprose-java.
@liuwenpeng1 请问你解决这个问题了吗?我这边也遇到这个问题了。非常规律,每隔三五天就出现一次,只能重启,看起来不是非法请求 @andot
from hprose-java.
请问你解决这个问题了吗?我这边也遇到这个问题了。非常规律,每隔三五天就出现一次,只能重启,看起来不是非法请求
我这边对服务器做了白名单,针对tcp端口的访问做了限制,目前看来没有在出现了,希望能帮到你
from hprose-java.
Related Issues (20)
- hprose.io.unserialize.Reader.unserialize占用CPU奇高 HOT 2
- 环境差异导致不能连接到服务器,如何排查 HOT 1
- 查询单个对象的时候 可以 但是 查询 对象集合的时候 就不行了 List<A> HOT 5
- hprose-java/wiki HOT 2
- hprose-java不支持maven依赖吗?没有maven支持版本? HOT 2
- 跨域问题
- 服务器使用PHP语言开发的,然后我用Java语言请求,明明有响应数据,但是一直抛异常 HOT 2
- JSON format support? HOT 2
- How to unserialize golang map[string]interface{} to java side? HOT 1
- 在安卓手机上,订阅有数量限制么? HOT 2
- Android客户端使用订阅,服务器端重启的情况,客户端无法自动重连服务器 HOT 1
- An illegal reflective access operation has occurred HOT 1
- idea中测试hprose tomcat 关闭时 hprose报错误信息 HOT 1
- 请问什么时候支持Hprose 3.0? HOT 5
- get 乱码 HOT 8
- ByteBufferStream 堆外内存申请问题 HOT 1
- 2.0的客户端,能否订阅go写的3.0的推送服务? HOT 2
- 关于HproseServlet发布的地址,通过浏览器打开会变成下载
- Hprose-java推送服务功能出现堵塞,直至服务端超时 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hprose-java.