Apache 2.4 + Glassfish Server 2.1发布过大的错误

时间:2015-04-25 13:58:34

标签: java apache glassfish

我正在Glassfish 2.1使用{{1}},并且我在大帖子中一直收到此错误:

  

java.lang.IllegalStateException:发布太大

我已经尝试将Glassfish http-listener的属性maxPostSize更改为很多值(甚至是0,以接受所有内容)但似乎没有任何效果。

你们知道其他任何可能存在问题的事吗?

PS:帖子只有4MB。我认为任何超过2Mb的东西都会被拒绝。

编辑:如果我将Apache取出,请求正常。所以它不是Glassfish的bug,而是Apache-Glassfish的沟通。不知道是什么。

编辑2 :由于错误仅发生在特定服务中,因此我只打开了一个直接的glassfish端口。这“解决了”这个问题。

1 个答案:

答案 0 :(得分:0)

在Glassfish服务器中配置发布请求最大大小

在http-service元素下 ${glassfish.home}/domains/domain/config/domain.xml, 您可以尝试添加以下属性(或使用admin-gui):

<property name="maxPostSize" value="...."/>

在Apache中配置请求大小

默认情况下,此指令设置为无限制。如果您允许上传不超过1MB的文件,可以将此设置设置为:

LimitRequestBody 1048576

您可以从extra/httpd-default.conf更改请求大小(取消注释您要配置的内容)

#LimitRequestLine: Limit on bytes in Request-Line (Method+URI+HTTP-version).
#Maximum value set by DEFAULT_LIMIT_REQUEST_LINE in httpd.h to 8190KB
#Limit HTTP request size in bytes
#LimitRequestLine 8190

#LimitRequestFieldsize: Limit on bytes in any one header field.
#Maximum value set by DEFAULT_LIMIT_REQUEST_FIELDSIZE in httpd.h to 8190KB
#Limit length must be less than LimitRequestLine.
#LimitRequestFieldsize 8190

#LimitRequestBody: Limit on bytes in Request-Line.
#LimitRequestBody 8190
#LimitRequestFields: Limit on number of request header fields.

#LimitRequestFields 100

编辑:我不确定这是否是Glassfish 2.1的官方错误。如果上述解决方案对您不起作用,请尝试安装最新的Glassfish版本(当前版本为Glassfish 4.1)。