2016-09-27 24 views
6
INFO: Error parsing HTTP request header 
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. 
java.lang.IllegalArgumentException: Request header is too large 
    at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:512) 
    at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:501) 
    at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:171) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:996) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:722 

春のWebアプリケーションでこれをどのように解決できますか?JAVA -tomcat-リクエストヘッダーが大きすぎます

私はこのスレッド解決Request header is too large

+0

ヒント:これは私が推測する日食とは関係ありません。 – GhostCat

+0

このリクエストのHTTPパケットをキャプチャしてヘッダーを表示しようとしましたか? –

+0

私は、Eclipseとは関係なく、Tomcatのいくつかの設定変更が必要だと思います。@GhostCat –

答えて

5

を通じて行っていました! HTTP POSTの代わりにHTTP GETを使用していました。 技術的には、URLの長さが2000文字を超える場合、HttpGetに問題があることがわかりました。その場合は、HttpPostを使用するか、URLを分割する方がよいでしょう。 ブラウザの制限は2kb〜8kbです。

0

POSTやGETではなく、アプリケーションで使用されるTomcatのヘッダサイズ制限の設定とは何ですか?

あなたは常に制御し、以下のようにアプリのプロパティを使用していることを設定することができます= 1024

server.tomcat.max-HTTPヘッダサイズが1024バイトである場合。

3

古い投稿です。しかし、私はいくつかのビットを明確にすることは良いと思う。

  • あなたは10Mbのにブラウザがブラウザにあなたの要求のparamを削減することを設定した場合でもしかし、max_wanted_sizeまで受け付けるようにサーバーを変更します_server.tomcat.max-HTTPヘッダサイズ= max_wanted_size_パラメータを使用サイズを制限する。私はクロムで試したことがあり、それは約150-200kbのようです。
  • java.lang.IllegalArgumentExceptionがサーバーで発生しており、ブラウザと関係がありません。したがって、server.tomcat.max-http-header-sizeを変更するだけで十分であり、GETメソッドを使用しているときに発生していますが、POSTメソッドを使用すると発生することもあります(POSTの場合はmaxPostSizeパラメータを変更する必要があります)。
2

ここでの質問ですが、HTTPヘッダーには何らかの制限がありますか?回答はいいえです。 制限なしがありますが、WebサーバーはPOSTリクエストでも要求受信ヘッダーサイズを制限しているため、413(Requestヘッダーが大きすぎます)が表示されます。この制限には、要求行とヘッダーフィールドが含まれます。私の場合は

http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestfieldsize

https://tomcat.apache.org/tomcat-5.5-doc/config/http.html

http://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers

Maximum on http header values?


、私はSpringBoot 1.5.8持っていたし、HTTP POSTを使用し、しかし、私がしなければなりませんでした追加:

server.max-http-header-size=10000000 

(application.properties)