Jboss post要求体サイズ制限
2165 ワード
以前、Jboss serverで、1ページ3000件以上のデータpostをバックグラウンドにダウンロードした場合、リクエストを受けた場所がエラーとなりますが、3000件未満の場合はエラーとなりません.リクエスト体のサイズ制限によるエラーと疑われます.NodeJs serverで似たような問題が発生したため、クエリー資料で問題点が見つかりました.jbossにはmax-post-sizeという構成があります. max-post-size Maximum size in bytes of a POST request that can be parsed by the container.
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のサイズを制限することであり、デフォルト値は2 MBであり、Chromeで3000以上のデータを発見したときcontent-lengthは2097125より大きいため、問題はここにある.まずjbossのmax-post-sizeの構成サイズを確認した.
max-post-sizeの値は2097152、つまり2 MBであることがわかります.この問題を解決するために、私たちのニーズを満たすために20 MBに変更する必要があります.
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のサイズを制限することであり、デフォルト値は2 MBであり、Chromeで3000以上のデータを発見したときcontent-lengthは2097125より大きいため、問題はここにある.まず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、つまり2 MBであることがわかります.この問題を解決するために、私たちのニーズを満たすために20 MBに変更する必要があります.
/profile=sps-profile/subsystem=web/connector=http:write-attribute(name=max-post-size,value=20971520)
、影響を与えるserver-groupを再起動した後、この問題を解決します.