Wie erhöhen wir die maximal zulässige HTTP-GET-Abfragelänge in Jetty?

14

Wir verwenden Jetty, um einen Apache Solr-Index auszuführen. Wir hatten einige Anfragen, die weit über die zuvor erwartete maximale Länge hinaus gewachsen sind, und haben jetzt Probleme, bei denen die meisten Anfragen keine Daten zurückgeben, weil der Server nicht antwortet (der Browser sagt "Connection reset").

Diese Anforderungen werden nicht über einen Browser gestellt, sondern programmgesteuert mithilfe der Apache_Solr_Service-PHP-Bibliothek. Die Anwendung erwartet, dass Abfragen als HTTP-GET-Anforderungen eingehen. Ein einfacher Wechsel zu einem POST löst dieses Problem nicht.

Wie kann die maximal zulässige HTTP-GET-Abfragelänge in Jetty erhöht werden?

Vielen Dank!

Michael Moussa
quelle

Antworten:

3

Was ist die maximale URL-Länge in Tomcat?

JamesRyan
quelle
Danke, aber ich sagte Jetty, nicht Tomcat. Ich kann anscheinend in Jettys Konfigurationsdateien keine Stelle finden, an der ich die Einstellungen vornehmen würde, mit denen Sie verlinkt sind.
Michael Moussa
Headerpuffergröße?
James Ryan
Ich habe es versucht. Kein Glück.
Michael Moussa
Wir beschlossen, Jetty zu verlassen und zu Tomcat zu wechseln. Danach konnten wir die in dem von Ihnen angegebenen Link angegebenen Änderungen vornehmen und es treten keine Probleme mehr auf. Vielen Dank!
Michael Moussa
12
<Set name="headerBufferSize">65536</Set>

ist jetzt veraltet. Sie können verwenden:

<Set name="requestHeaderSize">65535</Set>

stattdessen.

Nikolay
quelle
Ich verwende Solr 4 und mit <Set name = "headerBufferSize"> 65536 </ Set> konnte die Instanz nicht gestartet werden. Die Verwendung von <Set name = "requestHeaderSize"> 65535 </ Set> hat funktioniert.
Redtopia
8

Ein bisschen zu spät zur Party, aber ich bin gerade auf das gleiche Problem gestoßen.

Fügen Sie dem Connector-Abschnitt von jetty.xml Folgendes hinzu:

<Set name="headerBufferSize">65536</Set>

Dadurch wird das Header-Limit von 4 KB auf 64 KB erhöht.

gjb
quelle
Diese Lösung hat bei uns funktioniert. Das Symptom in den Protokollen war java.io.IOException: FULL. Stellen Sie sicher, dass Sie die Einstellung in den von addConnectorIhnen verwendeten aktiven Bereich einfügen.
Tom Harrison Jr
1

So erhöhen Sie das Limit für die Anforderungsheadergröße auf der Solr-Seite. Wenn Sie Solr auf Jetty ausführen, führen Sie die folgenden Schritte aus:

Öffnen Sie die Datei \ server \ etc \ jetty.xml. Ändern

  • Speichern Sie die Änderungen.
  • Starten Sie Solr und Sitecore XP neu.
Schibin
quelle