Помилка “Request-URI Too Long” в Apache виникає, коли клієнт надсилає URL-адресу, довжина якої перевищує встановлений сервером ліміт. Ця проблема може перешкоджати доступу користувачів до певних сторінок і зазвичай виникає в додатках, які передають великі обсяги даних в URL-адресі.
Якщо ви шукаєте високопродуктивне хостингове рішення з оптимізованими конфігураціями серверів, Ava Hosting пропонує VPS і виділені сервери з повною підтримкою Apache для ефективного запобігання та усунення таких помилок.
Змініть директиву LimitRequestLine у файлі конфігурації Apache, щоб збільшити дозволену довжину запиту.
sudo nano /etc/apache2/apache2.conf # Debian/Ubuntu
sudo nano /etc/httpd/conf/httpd.conf # CentOS/RHEL
LimitRequestLine 8190
Значення за замовчуванням – 8190 байт (8 КБ). Ви можете збільшити його до 16384 (16 КБ) або вище, якщо це необхідно.
sudo systemctl restart apache2 # Debian/Ubuntu
sudo systemctl restart httpd # CentOS/RHEL
Директива LimitRequestFieldSize контролює максимальний розмір поля заголовка HTTP-запиту. Якщо у вас довгі URL-адреси з заголовками, збільшення цього значення може допомогти.
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
Якщо ваш сервер знаходиться за проксі-сервером або балансувальником навантаження, оновіть його налаштування, щоб дозволити довші URI.
Для Nginx:
proxy_buffer_size 16k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
large_client_header_buffers 4 16k;
Для HAProxy:
option http-buffer-request
max-header-size 32768
Після внесення змін перезапустіть відповідну службу:
sudo systemctl restart nginx # Для Nginx
sudo systemctl restart haproxy # Для HAProxy
Якщо mod_security увімкнено, він може блокувати довгі URI запитів. Щоб перевірити, чи це спричиняє проблему, тимчасово вимкніть її:
sudo a2dismod security2 # Debian/Ubuntu
sudo systemctl restart apache2 # Restart Apache
Якщо вимкнення mod_security вирішує проблему, розгляньте можливість налаштування його правил замість того, щоб вимикати його назавжди.
Помилку “Request-URI Too Long” в Apache можна усунути, збільшивши ліміти запитів, оптимізувавши URL-адреси додатків, відкоригувавши налаштування проксі або змінивши конфігурацію безпеки. Виконуючи ці кроки, ви зможете переконатися, що ваш веб-сервер ефективно обробляє запити, не порушуючи функціональність.