web-dev-qa-db-fra.com

comment augmenter la limite de longueur uri Apache 2

Je reçois cette erreur dans mon journal Apache2:

[Tue Apr 06 09:00:56 2010] [erreur] La demande [client A.B.C.D] a échoué: URI trop long (supérieur à 8190)

Quel paramètre puis-je modifier pour augmenter cette limite?

17
kevin

Vous devez définir DEFAULT_LIMIT_REQUEST_LINE constante à l'intérieur du code source d'Apache, et recompilez Apache. Cette constante est dans le httpd.h En tête de fichier.

Après cela, vous pouvez réduire la limite de demandes à l'aide de la directive LimitRequestLine.

Voir http://httpd.Apache.org/docs/2.0/mod/core.html#limitrequestline pour plus d'informations.

13
Boris

La meilleure réponse est "ne fais pas ça". Voir http://www.boutell.com/newfaq/misc/urllength.html pour une explication de pourquoi.

Si vous devez transmettre autant de données, utilisez POST et non GET.

17
Snowhare

Un hack rapide pour le faire fonctionner vous suffit d'éditer le fichier Apache2.conf et d'ajouter la ligne:

LimitRequestLine 100000

Redémarrez Apache et tout va bien. Bien que vous deviez changer le code pour utiliser POST au lieu de GET et supprimez la ligne dès que vous le pouvez.

6
Soth

Ouvert /etc/Apache2/Apache2.conf

et insérer sous AccessFileName .htaccess:

LimitRequestLine 1000000
LimitRequestFieldSize 1000000
4
Dhivin

Augmentez les limites Apache pour ligne de demande de limite et taille du champ de demande de limite et enregistrez-la.

Étape suivante, redémarrez Apache à l'aide de Sudo service Apache restart

J'espère que cela résoudra le problème.

0
Rahul2692

Si vous utilisez des hôtes virtuels avec Apache, vous devez définir LimitRequestLine et LimitRequestFieldSize dans la première définition d'hôte virtuel avec un port correspondant. Pour Ubuntu/Debian, c'est dans /etc/Apache2/sites-available/000-default.conf.

Cela ne fonctionne pas si vous définissez ces paramètres dans /etc/Apache2/Apache2.conf.

0