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
Spring Webアプリケーションでこれをどのように解決できますか?
私はこのスレッドを通過しました 要求ヘッダーが大きすぎます
解決しました! HTTP POSTの代わりにHTTP GETを使用していました。技術的には、URLの長さが2000文字を超えると、HttpGetに問題があることがわかりました。その場合は、HttpPostを使用するか、URLを分割することをお勧めします。ブラウザには2kb〜8kbの範囲の制限があります
ここに質問がありますが、HTTPヘッダーに制限はありますか?答えはNoです。 制限はありませんが、WebサーバーはPOSTリクエストでも着信リクエストヘッダーサイズを制限しているため、413を取得しています(要求ヘッダーが大きすぎます。)この制限には、要求行とヘッダーフィールドが含まれます。
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
私の場合、SpringBoot 1.5.8を使用し、HTTP POSTを使用しましたが、以下を追加する必要がありました。
server.max-http-header-size=10000000
application.propertiesで。
私はそれが古い投稿であることを知っています。ただし、いくつかのビットを明確にすると良いと思います。
要求および応答HTTPヘッダーの最大サイズ。バイト単位で指定します。指定しない場合、この属性は4096(4 KB)に設定されます。
Error parsing HTTP request header
エラーこれを行うことにより、次の値を増やすことができます。
次の場所に移動します:$Tomcat_HOME/conf/server.xml
server.xml
変更 HTTP/1.1 Connector
エントリおよびmaxHttpHeaderSize
を「65536 "(バイトで64Kb)」に設定します(以下を参照)。
<Connector port="8080" maxHttpHeaderSize="65536" protocol="HTTP/1.1" ... />
または
POSTメソッドを使用できます。Tomcatによると、最大2メガバイトまで転送できます。
コンテナのFORM URLパラメータ解析で処理されるPOSTのバイト単位の最大サイズ。この属性を0以下の値に設定することにより、制限を無効にできます。指定すると、この属性は2097152(2メガバイト)に設定されます。
この情報がお役に立てば幸いです。
これはPOSTまたはGETではなく、アプリケーションで使用されるTomcatのヘッダーサイズ制限の設定です。
以下のアプリプロパティを使用して、いつでも制御および構成できます。server.Tomcat.max-http-header-size= 1024
1024はバイト単位です。