2017-02-26 17 views
2

私は、これはmaxPostSizeが設定されることはありませんかのようにtomcat 8の投稿サイズを制限する方法は?どのようにカスタム返信をするには?

<Connector URIEncoding="UTF-8" connectionTimeout="20000" maxHttpHeaderSize="65536" **maxPostSize="1024"** port="8080" protocol="HTTP/1.1" redirectPort="8443"/> 

はしかし、以上の1キロバイトのパスを要求し、私のserver.xmlファイルに設定されています。誰もそれを引き起こす可能性があることを提案できますか?私はこの問題にあまりにも長い間されているので

もう一つ、私はポストのサイズを超える1キロバイト

UPDATE ある場合にTomcatからカスタムHTTP応答を作成する方法を知りたいです。最大サイズ:ドキュメントが「maxPostSize言うが)私は2550年までのライン2541から気づい click here

、彼らは(getContentLengthを使用している:私はまさにここに何が起こっているかをチェックするためのTomcatのソースコードを見る機会がありましたバイト "である。どのようにバイトでこれを行うことができますか?それは私に数えて文字にもっと見えるし、サーブレット側で行うことができます。誰かがここで私が逃していることを説明できますか?

+0

POSTリクエストでテストしていますか? –

+0

はい、tomcatログが表示されていると確信しています: 127.0.0.1 - [27/Feb/2017:10:23:25 +0200] "POST/link/Link HTTP/1.1" 200 210 それは間違いなく投稿です。私は非常に大きな1KBを超えていることを確認するために送信しています。 –

+0

コンフィギュレーションが考慮されているかどうかを確認するために、非常に低い設定: 'maxPostSize =" 1 "'を試しましたか? –

答えて

1

tomcat docによると、maxPostSizeは2Mです。

コンテナのFORM URLパラメータの解析によって処理されるPOSTの最大サイズ(バイト単位)。この属性を0より小さい値に設定すると、制限を無効にすることができます。指定しない場合、この属性は2097152(2メガバイト)に設定されます。 FailedRequestFilterは、この制限を超える要求を拒否するために使用できます。

デフォルト値はその後、以下のファイルの場所に変更する変更する希望の場合:

$ CATALINA_HOME/confに/ server.xmlを

例:

<Connector port="80" protocol="HTTP/1.1" 
       connectionTimeout="20000" 
       redirectPort="8443" 
       maxPostSize="6291456" /> 

バイト単位のサイズ6291456 *(1024 * 1024)= 6M

注:変更後にサーバーを再起動してください。

0

デフォルトでは、HTTPコンテナはHTTPリクエストオブジェクトのinputstreamを使用し、そのデータをバイトとして処理します。リクエストにエンコーディングがあれば、文字ベースのリーダーオブジェクトを使用します。
https://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/ServletRequest.html#getInputStream()

応答を送信している間も、コンテンツの長さはバイト単位で設定されます。コンテンツの長さをバイトとして設定し、文字またはバイトとして書き込む。

サーバはデータをバイトとして扱います

関連する問題