タイトル
TOPJavaTIPS → This Page

Tomcatで受信するパラメータが不完全(切れる)【Java の TIPS、小ネタ、注意点】

前提

Java開発におけるTomcatパラメータ不完全なケースの対応方法を紹介します。
このページに記載している内容は2010/07/25に書かれたものです。
掲載している画面や方法が将来的に変更されている場合があります。

概要

Tomcatを使っていて大量のパラメータを送信すると
パラメータの一部がうまくサーバ側のアプリで受信できない場合があります。
実は
・Tomcat 5.5.35
・Tomcat 6.0.35
・Tomcat 7.0.23
からhashdos攻撃対策として新しい設定値が追加されており、
デフォルトで10000までしかパラメータを受信しないようになったからです。

対応策

Tomcatインストールディレクトリ/conf/server.xml
をエディタで開き
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
の箇所に maxParameterCount 設定値を追加してやればOKです。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxParameterCount="-1" />
-1 は無制限という意味になります。
もちろん制限できる数値があるならその数値を設定してもOKです。

更新履歴

2013/03/17 新規作成

TOPJavaTIPS → This Page