Можно ли сделать так, чтобы срок действия кэша 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 или любой аналогичной функции с языком программирования, который вы используете.

Другие вопросы по тегам