Я поискал другой вопрос об этом в 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
будут игнорироваться, если вы используете виртуальный хостинг на основе имени. Вы используете виртуальные хосты на основе имен и пробовали ли вы поместить эту директиву в первую?