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

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

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

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

решение1

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

server {

    location ... {

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

    }

}

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

Связанный контент