Voici un cas intéressant de client recevant l'erreur "400 Bad Request" et ne pouvant apparemment pas afficher une page d'accueil drupal hébergée sur Ubuntu 12.04.3 LTS sous Apache/2.2.22:
Requête incorrecte
Votre navigateur a envoyé une demande que ce serveur ne pouvait pas comprendre.
La taille d'un champ d'en-tête de demande dépasse la limite du serveur.
Sortie de reniflage de paquets:
...
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
...
À ce stade, je ne suis pas sûr à 100% qu'il s'agisse uniquement d'un client spécifique, mais l'erreur a été signalée par un utilisateur avec la chaîne d'agent utilisateur suivante:
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
Maintenant, la question reste de savoir quoi faire: s'agit-il d'un problème de serveur ou simplement d'un client qui se comporte mal?
Vous avez trouvé le problème. Certains agents d'utilisateur et certaines demandes deviennent trop volumineux pour les paramètres par défaut du serveur Web. Cela semble être un problème stupide à rencontrer, mais cela me arrive toujours dans nginx
name__. Habituellement, quand il y a des noms de cookies stupides et des téléchargements en cours ... Quoi qu'il en soit ...
La solution consiste simplement à dépasser la limite de demandes. Vous pouvez le faire globalement ou simplement pour votre site avec la directive LimitRequestFieldSize
name__ :
LimitRequestFieldSize 32768
C'est une limite de 32 Ko (jusqu'à la limite par défaut de 8 Ko).