Feature idea: temp_path parameter at proxy_cache_path directive
Pavel V.
pavel2000 at ngs.ru
Tue Dec 18 07:33:05 UTC 2012
Здравствуйте.
> proxy_cache_path связан с зоной ...
> proxy_temp_path используется уже после того...
Да, это я знаю. Я правда не учел (подзабыл), что proxy_temp_path используется также и для
некешируемых проксируемых ответов.
>> С учетом того, что "Ключом и именем файла в кэше является результат
>> функции MD5 от проксированного URL. " и, вероятно, то же самое имя
>> используется и для файла в каталоге временных файлов, то получается, что
>> конфликт (коллизия) имен файлов для разных зон - невероятны, и потребность
>> в вышеописанном возникает только для кэшей на разных устройствах.
> Это не так.
Что - не так, можно подробнее, от людей, знающих внутренности nginx и особенности использования?
Коллизии - возможны? Требуются специальные методы для гарантированного их исключения?
>> Если для определенного пути в proxy_cache_path требуется определенный
>> путь для временных файлов, то его придется явно прописывать в каждом
>> server/location, где используется соответствующий cache_path, т.к. связать
>> эти пути вместе на данный момент не возможно.
> Как вы себе представляете связать одно с другим - непонятно.
Я предлагаю сделать параметр temp_path в директиву proxy_cache_path. Если запрос проксируется и
дальше _может быть_ (т.к. будет оно класться в кэш или нет, определяется в том числе и ответом
бэкенда) положен в кеш, (т.е. активированы директивы proxy_cache ZONE; proxy_pass BACKEND;), то
каталогом хранения временных файлов приоритетнее брать значение параметра temp_path соответствующей
зоны.
Таким образом, можно будет _единожды_ связать путь хранения кэша зоны и путь его временных файлов в
контексте http, а сейчас такое не возможно - при наличии потребности, специальный путь временных
файлов требуется указывать _везде_, где используется соответствующая директива proxy_cache ZONE.
--
С уважением,
Pavel mailto:pavel2000 at ngs.ru
Подробная информация о списке рассылки nginx-ru