у меня есть папка, содержащая изображения на моем сервере, которая используется как для обслуживания мобильного приложения через CDN, так и для работы с внутренним веб-приложением, используемым для управления контентом, доставляемым на сервер. приложение. Для последнего -серверного веб-приложения -я хочу убедиться, что изображения, доставленные из рассматриваемой папки, не кэшируются браузером, чтобы я мог показывать обновленные версии в серверном приложении, как только они были обновлены их автором.. CDN извлекает те же изображения для доставки в мобильное приложение и имеет настройки обновления на 30 минут, поэтому он не доставляет изображения контента с плохой датой.
Мой вопрос -как настроить Nginx, чтобы он вставлял заголовок expires epoch
только для запросов, исходящих из веб-приложения. Часть ответа на этот вопрос находится в этой ветке SO . Есть ли способ изменить предложенное там решение, чтобы оно проверяло реферер перед внедрением заголовка? Так, например, на все запросы, исходящие из https://example.com/backoffice
, отвечает заголовок expires epoch
, в то время как другие -, например. те, которые приходят из запросов на вытягивание CDN -, не являются.
Здесь должно быть достаточно простого if
:
server {
location... {
if ($http_referer ~* ^https://example.com/backoffice) {
expires epoch;
}
}
}
Имейте в виду, что в целом это гораздо желательно, чтобы ваше веб-приложение принимало решения о кэшировании и отвечало соответствующими директивами.