В nginx есть способ условно обслуживать файл с разными заголовками с истечением срока действия в зависимости от того, когда файл был последний раз изменен? Например, если foo
был изменен в течение последней недели, тогда я хочу, чтобы срок его действия истек через несколько часов, в противном случае я хочу, чтобы он истек через несколько дней.
Предполагается, что браузеры уже имеют описанную вами функциональность, поэтому на самом деле нет особого смысла реализовывать ее в nginx.
Стандартный nginx имеет expires
директива, которая позволяет вам использовать несколько видов статических выражений в стиле смещения без сравнения, но не описываемые вами динамические.
Я не думаю, что какие-либо из стандартных модулей, которые по умолчанию скомпилированы в nginx, могут делать то, что вы здесь запрашиваете - динамическое истечение срока действия с различным смещением в зависимости от того, как давно был изменен файл.
Однако есть ngx_http_perl_module
, который является официальным экспериментальным perl
модуль непосредственно от создателей nginx, что позволяет вам использовать находчивый язык Perl непосредственно из файла конфигурации nginx.
Обратите внимание, что это http_perl_module
не компилируется по умолчанию по очевидным причинам (очевидно, требует perl и т. д.) и считается в высшей степени экспериментальным - используйте с осторожностью.