我正在创建RESTEasy端点,我的请求应该是非常小的JSON格式,如
{"id":"A1S2D3F4G5H6J7"}
RESTEasy中是否有办法限制客户端发送的信息量?我想阻止客户端发送1GB数据并关闭我的服务。有什么想法吗?
答案 0 :(得分:3)
这可以通过Web服务器或应用服务器更好地处理,而不是直接由您的应用程序代码处理。例如,假设您的应用程序服务器位于Apache后面。 Apache通过AJP代理对应用程序服务器的请求。然后,您可以将Apache的LimitRequestBody配置属性设置为小于1GB的某个合理值,并防止这些大型请求通过您的应用程序。
来自Apache Docs:
LimitRequestBody指令允许用户设置限制 允许在上下文中的HTTP请求消息体的大小 给出了该指令(服务器,每个目录,每个文件或 每个位置)。如果客户端请求超过该限制,则为服务器 将返回错误响应,而不是为请求提供服务。
我认为存在处理这种情况的所有其他主要Web服务器和应用程序容器的配置设置。
答案 1 :(得分:0)
在最近的 Jboss/Wildfly/Undertow 服务器中,检查您的 http-listener 配置中的 max-post-size
属性