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