Der Fehler “Request-URI Too Long” in Apache tritt auf, wenn ein Client eine URL sendet, die die vordefinierte Längenbegrenzung des Servers überschreitet. Dieses Problem kann Benutzer daran hindern, auf bestimmte Seiten zuzugreifen und tritt typischerweise bei Anwendungen auf, die große Datenmengen in der URL übergeben.
Wenn Sie auf der Suche nach einer leistungsstarken Hosting-Lösung mit optimierten Serverkonfigurationen sind, bietet Ava Hosting VPS und dedizierte Server mit vollständiger Apache-Unterstützung, um solche Fehler effizient zu vermeiden und zu beheben.
Ändern Sie die LimitRequestLine-Direktive in Ihrer Apache-Konfigurationsdatei, um die zulässige Anfragelänge zu erhöhen.
sudo nano /etc/apache2/apache2.conf # Debian/Ubuntu
sudo nano /etc/httpd/conf/httpd.conf # CentOS/RHEL
LimitRequestLine 8190
Der Standardwert ist 8190 Bytes (8 KB). Sie können ihn bei Bedarf auf 16384 (16 KB) oder mehr erhöhen.
sudo systemctl restart apache2 # Debian/Ubuntu
sudo systemctl restart httpd # CentOS/RHEL
Die Richtlinie LimitRequestFieldSize steuert die maximale Größe eines HTTP-Request-Header-Feldes. Wenn Sie lange URLs mit Headern haben, kann eine Erhöhung dieses Wertes helfen.
sudo nano /etc/apache2/apache2.conf # Debian/Ubuntu
sudo nano /etc/httpd/conf/httpd.conf # CentOS/RHEL
LimitRequestFieldSize 16384
sudo systemctl restart apache2 # Debian/Ubuntu
sudo systemctl restart httpd # CentOS/RHEL
Wenn sich Ihr Server hinter einem Proxy oder Load Balancer befindet, aktualisieren Sie dessen Einstellungen, um längere URIs zuzulassen.
Für Nginx:
proxy_buffer_size 16k;
proxy_puffer 4 32k;
proxy_busy_buffers_size 64k;
large_client_header_buffers 4 16k;
Für HAProxy:
option http-buffer-request
max-header-size 32768
Starten Sie nach den Änderungen den jeweiligen Dienst neu:
sudo systemctl restart nginx # Für Nginx
sudo systemctl restart haproxy # Für HAProxy
Wenn mod_security aktiviert ist, blockiert es möglicherweise lange Anfrage-URIs. Um zu überprüfen, ob es das Problem verursacht, schalten Sie es vorübergehend ab:
sudo a2dismod security2 # Debian/Ubuntu
sudo systemctl restart apache2 # Restart Apache
Wenn die Deaktivierung von mod_security das Problem behebt, sollten Sie in Erwägung ziehen, die Regeln anzupassen, anstatt mod_security dauerhaft zu deaktivieren.
Der Fehler “Request-URI Too Long” in Apache kann durch die Erhöhung der Anfragelimits, die Optimierung der Anwendungs-URLs, die Anpassung der Proxy-Einstellungen oder die Änderung der Sicherheitskonfigurationen behoben werden. Wenn Sie diese Schritte befolgen, können Sie sicherstellen, dass Ihr Webserver Anfragen effizient bearbeitet, ohne die Funktionalität zu beeinträchtigen.