Здравствуйте, Максим. Вариант использования полного пути в URI выглядит не очень удобно.
Второй вариант с использованием `$realpath_root` работает, но как сделать так, чтобы генерировался хэш от значения `$realpath_root`, в противном случае отображается для всех полный путь к файлу, не думаю, что такой вариант не безопасен: add_header ETag $realpath_root; К тому же это надо дополнительно везде прописывать add_header, пользователь легко может упустить в конфигурации места, где надо его изменить. Судя по коду в src/http/ngx_http_core_module.c для генерации ETag используется только время модификации файла и его размер. А вот путь до файл не учитывается. Как можно попробовать добавить возможность учитывать полный путь до файла для проверки? Может подойдёт такой вариант: ETag = путь к файлу + размер файла + время модификации файла. Если подойдёт, тогда всё будет работать автоматически. Вы писали 25 ноября 2023 г., 3:59:57: > Hello! > On Tue, Nov 21, 2023 at 09:53:16PM +0300, izor...@gmail.com wrote: > Если размера для идентификации версии файла недостаточно, то > ожидаемо нужны другие идентификаторы. В классических файловых > системах таким идентификатором выступает время модификации файла. > В /nix/store, как я понимаю, идея состоит в том, что время > модификации не нужно, потому что файлы в рамках конкретного пути > не меняются. Решением, целиком повторяющим эту идею, будет > использование полного пути из /nix/store в URI, тогда всё будет > работать так, как ожидают создатели /nix/store. > Если же хочется выкинуть из URI полный путь, то наверное имеет > смысл думать в сторону возможности установки ETag'а из переменных > (сейчас его можно поменять в ответе клиенту, но это происходит > после проверок If-Modified-Since / If-None-Match, и выставленное > значение не используется самим nginx'ом). Тогда можно будет > поставить и использовать произвольный ETag, основываясь, например, > на переменной $realpath_root - то есть сделать штатными средствами > примерно то же, что пытались накостылить авторы соответствующего > патча в NixOS. -- С уважением, Izorkin mailto:izor...@gmail.com _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-ru