Code Monkey home page Code Monkey logo

Comments (6)

andot avatar andot commented on August 11, 2024

我觉得可能是有非法的客户端请求导致的。请求头部的前4个字节是包体的大小,如果非法的客户端发送一个无效的请求,头部前4个字节所表示的包体的大小非常大,那么在分配内存时就会导致内存溢出。在 hprose 3.0 中,tcp 请求头部增加了一个crc32的校验,并且可以设置请求最大长度的限制,可以有效的防止这种非法请求。不过 java 版本暂未实现 hprose 3.0。

目前 hprose-java 2.0 的 tcp 服务最好是部署在内网,防止有非法的客户端来访问到它。如果部署在公网的话,最好用 hprose 的 http 服务。

from hprose-java.

liuwenpeng1 avatar liuwenpeng1 commented on August 11, 2024

我觉得可能是有非法的客户端请求导致的。请求头部的前4个字节是包体的大小,如果非法的客户端发送一个无效的请求,头部前4个字节所表示的包体的大小非常大,那么在分配内存时就会导致内存溢出。在 hprose 3.0 中,tcp 请求头部增加了一个crc32的校验,并且可以设置请求最大长度的限制,可以有效的防止这种非法请求。不过 java 版本暂未实现 hprose 3.0。

目前 hprose-java 2.0 的 tcp 服务最好是部署在内网,防止有非法的客户端来访问到它。如果部署在公网的话,最好用 hprose 的 http 服务。

感谢回复!
目前这边所有的RPC接口都有访问log,但是没有看到异常访问的log,所以也定位不了是否属于非法访问。
从异常的堆栈来分析也没有什么帮助。所以有没有什么办法可以帮我确定问题的。再次感谢~

from hprose-java.

andot avatar andot commented on August 11, 2024

这个异常是在接收数据时产生的,因此,还到不了 log 的位置。

from hprose-java.

liuwenpeng1 avatar liuwenpeng1 commented on August 11, 2024

这个异常是在接收数据时产生的,因此,还到不了 log 的位置。

ok,我接下来会做好访问限制,添加ip白名单,来排除这方面的原因,以后也会陆续跟踪此问题。

最后期待3.0版本早日上线~

from hprose-java.

zhangruhong avatar zhangruhong commented on August 11, 2024

@liuwenpeng1 请问你解决这个问题了吗?我这边也遇到这个问题了。非常规律,每隔三五天就出现一次,只能重启,看起来不是非法请求 @andot

from hprose-java.

liuwenpeng1 avatar liuwenpeng1 commented on August 11, 2024

请问你解决这个问题了吗?我这边也遇到这个问题了。非常规律,每隔三五天就出现一次,只能重启,看起来不是非法请求

我这边对服务器做了白名单,针对tcp端口的访问做了限制,目前看来没有在出现了,希望能帮到你

from hprose-java.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.