最近在POST json数据时,Jetty(9.3.6.v20151106)服务端程序会报题中错误。
经一番搜索,解决如下:
- 这不是因为表单大小限制出错,表单大小不止这个数目。
- 这是由于request header大小超限。该参数可以在jetty.xml文件中设置:
<New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
...
<Set name="requestHeaderSize"><Property name="jetty.httpConfig.requestHeaderSize" deprecated="jetty.request.header.size" default="81920"/></Set>
...
</New>
- 如果实在有必要,才修改以上参数。因为:
- 默认限制是考虑到网络上各种网关,proxy的限制,如果改得太大,jetty端没问题,但是可能带来链路中其它环节的问题。
- 可以通过修改POST json数据的设计来减少在request header中填入的数据量。