Jboss post请求体大小限制

2019-10-11  本文已影响0人  Minato666

之前遇到一个问题,在Jboss server上,将一个页面3000多条数据post到后台进行数据下载的时候,接受请求的地方会报错,但是如果数量低于3000条的情况的就不会报错,于是就怀疑是请求体的大小限制导致的报错,因为之前在NodeJs server遇到过类似的问题,于是通过查询资料找到了问题所在。
jboss有一个配置叫做max-post-size:

Attribute Value
Default Value 2097152
Type INT
Nillable true
Expressions Allowed true
Min 0
Max 2,147,483,647
Storage configuration
Access Type read-write
Restart Required all-services

从介绍中可以看到改配置就是限制jboss能够处理的post request的大小,默认值是2MB,然后我们通过Chrome发现3000多条数据的时候content-length是大于2097152,所以问题就出在这里。
首先我们确认了一下jboss 的max-post-size的配置大小。
运行./jboss-cli.sh --connect --controller=localhost:9999连接到jboss cli。然后运行/profile=sps-profile/subsystem=web/connector=http:read-resource(recursive=true)获取如下结果:

{
    "outcome" => "success",
    "result" => {
        "enable-lookups" => false,
        "enabled" => true,
        "executor" => undefined,
        "max-connections" => undefined,
        "max-post-size" => 2097152,
        "max-save-post-size" => 4096,
        "name" => "http",
        "protocol" => "HTTP/1.1",
        "proxy-binding" => undefined,
        "proxy-name" => undefined,
        "proxy-port" => undefined,
        "redirect-binding" => undefined,
        "redirect-port" => 443,
        "scheme" => "http",
        "secure" => false,
        "socket-binding" => "http",
        "virtual-server" => undefined,
        "configuration" => undefined
    }
}

从中可以看到max-post-size的值是2097152也就是2MB,为了解决该问题,我们需要将其改成20MB来满足我们的需求,可以运行以下命令:
/profile=sps-profile/subsystem=web/connector=http:write-attribute(name=max-post-size,value=20971520)
然后将影响到的server-group重启之后,解决了该问题。

上一篇 下一篇

猜你喜欢

热点阅读