Выборочная настройка заголовка Nginx expires epoch

у меня есть папка, содержащая изображения на моем сервере, которая используется как для обслуживания мобильного приложения через CDN, так и для работы с внутренним веб-приложением, используемым для управления контентом, доставляемым на сервер. приложение. Для последнего -серверного веб-приложения -я хочу убедиться, что изображения, доставленные из рассматриваемой папки, не кэшируются браузером, чтобы я мог показывать обновленные версии в серверном приложении, как только они были обновлены их автором.. CDN извлекает те же изображения для доставки в мобильное приложение и имеет настройки обновления на 30 минут, поэтому он не доставляет изображения контента с плохой датой.

Мой вопрос -как настроить Nginx, чтобы он вставлял заголовок expires epochтолько для запросов, исходящих из веб-приложения. Часть ответа на этот вопрос находится в этой ветке SO . Есть ли способ изменить предложенное там решение, чтобы оно проверяло реферер перед внедрением заголовка? Так, например, на все запросы, исходящие из https://example.com/backoffice, отвечает заголовок expires epoch, в то время как другие -, например. те, которые приходят из запросов на вытягивание CDN -, не являются.

0
задан 21 September 2021 в 03:15
1 ответ

Здесь должно быть достаточно простого if:

server {

    location... {

        if ($http_referer ~* ^https://example.com/backoffice) {
            expires epoch;
        }

    }

}

Имейте в виду, что в целом это гораздо желательно, чтобы ваше веб-приложение принимало решения о кэшировании и отвечало соответствующими директивами.

2
ответ дан 21 September 2021 в 08:28

Теги

Похожие вопросы