Назад | Перейти на главную страницу

Ограничение заголовка HTTP-запроса жестко задано в Apache 2.2

Я поискал другой вопрос об этом в SF, они вращались вокруг максимального лимита, установленного для LimitRequestFieldSize и LimitRequestLine при 8К.

Документация httpd подтверждает ограничение, но не указывает значение, которое необходимо исправить.

Я попытался увеличить его, но это не помогло. Уменьшение тоже не сработало. Каждый источник, который я нашел, просто указывал, что есть максимальный предел.

Чтобы проверить, какой длины может быть заголовок, я выполнил эту команду:

curl -v -H "CustomHeader: `printf '1%.0s' {1..n}`" hostname

Я установил apache2 на виртуальную машину RHEL 6.3 и попробовал разные значения для обеих директив (указанных в /etc/httpd/conf/httpd.conf).

Для справки, версия apache2:

Name        : httpd
Arch        : x86_64
Version     : 2.2.15
Release     : 15.el6_2.1

Теперь вот вопрос:

Я понимаю, что не могу увеличить его выше 8K (кажется, люди Redhat не достигли предела), но почему я не могу его уменьшить? Какое бы значение я ни указывал, apache вернет ошибку, если n больше 8К.

В документах есть предупреждение.

Предупреждение
Когда используется виртуальный хостинг на основе имени, значение для этой директивы берется из виртуального хоста по умолчанию (первого в списке) для NameVirtualHost, которому было сопоставлено соединение.

Из этого предложения неясно, есть ли какое-либо значение в httpd.conf будут игнорироваться, если вы используете виртуальный хостинг на основе имени. Вы используете виртуальные хосты на основе имен и пробовали ли вы поместить эту директиву в первую?