Можно ли сделать так, чтобы срок действия кэша nginx истекал в определенное время?
Поэтому я хочу сделать так, чтобы срок действия кэша nginx истекал каждый день в 24:00. Я знаю, что мог бы использовать такие инструменты, как nginx-cache-purge или просто вручную удалить файлы кеша на диске, но я предпочитаю позволить nginx обрабатывать это самостоятельно. Это возможно? Любая помощь приветствуется.
2 ответа
Есть направление proxy_cache_purge, где вы можете использовать точку доступа для очистки кэша.
Тогда вы можете использовать curl
внутри вашей работы cron и выполнить это в определенное время.
Вы могли бы использовать X-Accel-Expires
заголовок вашего приложения ответит значением "@epoch", чтобы установить абсолютное время в секундах с начала эпохи, до которого ответ может быть кэширован. http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html
Так например с BSD date
Вы могли бы использовать результат date -j -v23H -v59M -v59S +"@%s"
для заголовка X-Accel-Expires или любой аналогичной функции с языком программирования, который вы используете.