Hier ist ein interessanter Fall, in dem ein Client den Fehler "400 Bad Request" erhält und anscheinend nicht in der Lage ist, eine auf Ubuntu 12.04.3 LTS mit Apache / 2.2.22 gehostete Drupal-Homepage anzuzeigen:
Ungültige Anfrage
Ihr Browser hat eine Anfrage gesendet, die dieser Server nicht verstehen konnte.
Die Größe eines Anforderungsheaderfelds überschreitet das Serverlimit.
Paket-Sniffing-Ausgabe:
...
T 2013/09/02 15:23:10.458167 ###.###.###.###:40027 -> ###.###.###.###:80 [A]
GET / HTTP/1.0.
If-None-Match: "1363160742-0", "1363165573-1", "1363175854-1", "1363175854-0", "1363179616-0", "1363181811-0", "1363239319-1", "1363255903-0", "1363259282-0", "1363263398-1", "1363274564-0", "1363329642-0", "1363332613-1", "1363333851-0", "1363599826-0", "1363678909-0", "1363684227-1", "1363699732-0", "1363755181-0", "1363765691-1", "1363767178-0", "1363780208-0", "1363787589-0", "1363795259-1", "1363852409-1", "1363863225-1", "1363928115-0", "1363951793-0", "1363951793-1", "1364133610-1", "1364187608-1", "1364187608-0", "1364203083-0", "1364208174-0", "1364214930-0", "1364219815-0", "1364274441-1", "1364280930-0", "1364280930-1", "1364286055-1", "1364298840-0", "1364298840-1", "1364360674-0", "1364364356-1", "1364381508-0", "1364385520-1", "1364460734-0", "1364882595-1", "1364903271-0", "1364967946-0", "1364967946-1", "1364981713-0", "1364985142-1", "1364992835-1", "1365061578-0", "1365065290-1", "1365076128-0", "1365141088-1", "1365167701-0", "1365171024-0", "1365402404-1", "1365402404-0", "1365411731-1", "1365416882-0", "1365476715-0", "1365487578-0", "1365488880-1", "1365503922-1", "1365514224-1", "1365579101-0", "1365580320-0", "1365582817-0", "1365584926-0", "1365589524-0", "1365608307-0", "1365649987-0", "1365682295-0", "1365685083-0", "1365770532-1", "1365770532-0", "1365844566-0", "1365996619-1", "1366093719-1", "1366093719-0", "1366115408-0", "1366180275-1", "1366186431-0", "1366196476-0", "13662669
...
Zu diesem Zeitpunkt bin ich nicht 100% sicher, ob es nur auf einen bestimmten Client beschränkt ist, aber der Fehler wurde von einem Benutzer mit der folgenden Benutzeragentenzeichenfolge gemeldet:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/534.57.7 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.7
Nun bleibt die Frage, was zu tun ist. Handelt es sich um ein Serverproblem oder nur um einen sich schlecht benehmenden Client?
/var/log/apache2/error.log
, wie @ LuísdeSousa vorgeschlagen hat, um herauszufinden, welche Grenze verletzt wurde.Antworten:
Sie haben das Problem gefunden. Einige Benutzeragenten und einige Anforderungen werden für die Standardeinstellungen des Webservers einfach zu groß. Es scheint ein dummes Problem zu sein, aber es passiert mir immer wieder
nginx
. Normalerweise, wenn dumme Cookie-Namen und Uploads stattfinden ... Wie auch immer ...Die Lösung besteht darin, nur das Anforderungslimit zu überschreiten. Sie können dies global oder nur für Ihre Site mit der
LimitRequestFieldSize
Direktive tun :Dies ist ein Limit von 32 KB (gegenüber dem Standardwert von 8 KB).
quelle
LimitRequestFieldSize
auf32768
hat nicht geholfen.LimitRequestFieldSize 65536
⓶LimitRequestLine 65536
⓷LimitXMLRequestBody 0
⓸ ??? ⓹ℙℛṎℱỈ Ꭲ☕