proxy_cache_convert_head
Директива 'proxy_cache_convert_head' контролирует, может ли запрос HEAD возвращать кэшированные данные для запроса GET.
Описание
Директива 'proxy_cache_convert_head' используется в конфигурациях NGINX для определения того, должен ли HTTP-запрос HEAD отдавать кэшированный ответ на основе соответствующего запроса GET. Эта директива позволяет системе кэширования внутренне преобразовывать запрос HEAD в запрос GET, если доступна действующая кэшированная версия, что повышает производительность за счёт исключения повторного получения данных с upstream-сервера при каждом HEAD-запросе. Такое поведение особенно полезно для приложений, которые интенсивно используют HEAD-запросы, позволяя им использовать кэш без необходимости генерации нового ответа со стороны upstream-сервера при каждом обращении.
При значении 'on' эта функция изменяет обработку запросов, что может привести к более быстрому ответу на HEAD-запросы. Напротив, при значении 'off' сервер не будет использовать кэшированные ответы, сгенерированные для GET, при обработке HEAD, что потенциально увеличивает время ответа на HEAD-запросы, поскольку им придётся обращаться к upstream-серверу напрямую. Директиву можно задавать в различных контекстах, включая http, server и location, что обеспечивает гибкость её использования в разных HTTP-конфигурациях NGINX.
Пример конфига
http {
proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m;
server {
location / {
proxy_pass http://backend;
proxy_cache my_cache;
proxy_cache_convert_head on;
}
}
}Убедитесь, что вышестоящий сервер корректно обрабатывает запросы GET и HEAD для одного и того же ресурса.
Имейте в виду, что чрезмерное использование кэшированных ответов HEAD в некоторых случаях может приводить к устаревшим данным.