client_header_buffer_size
Устанавливает размер буфера, используемого для чтения заголовков клиентских запросов. — NGINX HTTP Core
Описание
Директива `client_header_buffer_size` в NGINX позволяет задать размер буфера, выделяемого для чтения заголовков входящих клиентских запросов. Это важно для управления тем, сколько данных заголовков NGINX может обработать за один раз, прежде чем начнёт сохранять дополнительные данные заголовков в других буферах. Когда клиент отправляет HTTP-заголовки, они обрабатываются NGINX, и если суммарный размер заголовков превышает указанное значение буфера, NGINX будет использовать более крупные буферы для размещения данных. Это помогает предотвратить проблемы с большими заголовками, например те, которые возникают при некоторых схемах аутентификации и конфигурациях cookie. Эта директива особенно важна в сценариях, где ожидаются большие заголовки из‑за увеличенных размеров cookie или других пользовательских заголовков. Если буфер задан слишком маленьким, это может привести к ошибкам, таким как `413 Request Entity Too Large`, или к увеличению задержки при обработке запросов с большими заголовками. Администраторам следует осторожно устанавливать это значение, так как чрезмерное увеличение может привести к ненужному потреблению памяти, особенно при высокой нагрузке или при обработке большого числа одновременных соединений. Директива определяется в контекстах `http` и `server`, что делает её гибкой для использования в глобальной или в специфичных для сервера конфигурациях.
Пример конфига
server {
listen 80;
server_name example.com;
client_header_buffer_size 2k;
}Установка слишком большого размера буфера может привести к чрезмерному использованию памяти на сайтах с высоким трафиком.
Изменения этой директивы требуют перезапуска NGINX для вступления в силу.