L’errore “Request-URI Too Long” di Apache si verifica quando un client invia un URL che supera il limite di lunghezza predefinito dal server. Questo problema può impedire agli utenti di accedere a pagine specifiche e si verifica in genere nelle applicazioni che inviano grandi quantità di dati nell’URL.
Se siete alla ricerca di una soluzione di hosting ad alte prestazioni con configurazioni server ottimizzate, Ava Hosting offre server VPS e dedicati con supporto Apache completo per prevenire e risolvere efficacemente tali errori.
Modificare la direttiva LimitRequestLine nel file di configurazione di Apache per aumentare la lunghezza della richiesta consentita.
sudo nano /etc/apache2/apache2.conf # Debian/Ubuntu
sudo nano /etc/httpd/conf/httpd.conf # CentOS/RHEL
LimitRequestLine 8190
Il valore predefinito è 8190 byte (8 KB). Se necessario, è possibile aumentarlo a 16384 (16 KB) o superiore.
sudo systemctl restart apache2 # Debian/Ubuntu
sudo systemctl restart httpd # CentOS/RHEL
La direttiva LimitRequestFieldSize controlla la dimensione massima di un campo di intestazione della richiesta HTTP. Se si hanno URL lunghi con intestazioni, aumentare questo valore può essere utile.
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
Se il server si trova dietro un proxy o un bilanciatore di carico, aggiornare le impostazioni per consentire URI più lunghi.
Per Nginx:
proxy_buffer_size 16k;
proxy_buffer 4 32k;
proxy_busy_buffers_size 64k;
large_client_header_buffers 4 16k;
Per HAProxy:
option http-buffer-request
max-header-size 32768
Dopo aver apportato le modifiche, riavviare il rispettivo servizio:
sudo systemctl restart nginx # Per Nginx
sudo systemctl restart haproxy # Per HAProxy
Se mod_security è abilitato, potrebbe bloccare gli URI di richiesta lunghi. Per verificare se è la causa del problema, disabilitarlo temporaneamente:
sudo a2dismod security2 # Debian/Ubuntu
sudo systemctl restart apache2 # Restart Apache
Se la disabilitazione di mod_security risolve il problema, si può pensare di personalizzare le sue regole invece di disattivarlo in modo permanente.
L’errore “Request-URI Too Long” di Apache può essere risolto aumentando i limiti di richiesta, ottimizzando gli URL delle applicazioni, regolando le impostazioni del proxy o modificando le configurazioni di sicurezza. Seguendo questi passaggi, è possibile garantire che il server Web gestisca in modo efficiente le richieste senza interrompere la funzionalità.