srcache_header_buffer_size
Директива `srcache_header_buffer_size` задаёт размер буфера, используемого для кэширования HTTP-заголовков в субзапросах.
Описание
Директива srcache_header_buffer_size является частью модуля прозрачного кэширования на основе субзапросов для NGINX, который позволяет кэшировать ответы для произвольных локаций. Эта директива напрямую влияет на размер буфера, выделяемого для хранения HTTP-заголовков при выполнении субзапроса. В сценариях, где заголовки большие, установка подходящего размера буфера может помочь предотвратить усечение или проблемы с памятью. Параметр принимает один аргумент, который задаёт размер в байтах, который также может быть выражен в килобайтах (K) или мегабайтах (M).
Директиву можно использовать в нескольких контекстах, таких как http, server, location и внутри блока if в контексте location. Такая гибкость позволяет детально управлять поведением кэширования в разных частях конфигурации NGINX. Важно отметить, что если заданный размер слишком мал для обрабатываемых заголовков, это может привести к неожиданным результатам, таким как неполные или повреждённые заголовки в кэше. Поэтому пользователям следует проявлять осторожность и тестировать различные размеры в соответствии с конкретными потребностями их приложения.
Пример конфига
server {
location /api {
srcache_header_buffer_size 16k;
}
}Установка слишком малого размера буфера может привести к ошибкам усечения заголовков.
Изменения этой директивы могут быть не сразу заметны, если кэш не будет очищен или повторно проверен.