Установка времени кеширования / истечения срока действия для каждого элемента в nginx?

при настройке веб-серверов (nginx) редко ли устанавливать и истекать время и кешировать каждый элемент в каждом каталоге, который запрашивается клиентским браузером?

несколько примеров времени истечения срока действия, которые я только что нашел на сайте nginx и servervault:

location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
    expires 30d;
    add_header Pragma public;
    add_header Cache-Control "public";
}


location ~* \.(?:css|gif|jpe?g|png)$ {
    expires max;
}

как мне написать строку location , если я хочу поэкспериментировать с установкой срока действия для каждого элемента?

location ~* \.(?:*)$ {
    expires 2d;
    add_header Pragma public;
    add_header Cache-Control "public"
}
0
задан 5 July 2017 в 01:24
1 ответ

Если вы хотите сопоставить все, вы можете просто использовать:

location / {
    expires 2d;
    add_header Pragma public;
    add_header Cache-Control "public"
}

Однако, если у вас есть какой-либо динамический контент, такой как вход в систему, страницы, которые обновляются с течением времени и т. Д., Лучше установить заголовки кеширования внутри самого приложения, а затем позволить nginx кэшировать данные в соответствии с заголовками кеша. Тем не менее, это слишком сложная тема для подробного рассмотрения в ServerFault.

0
ответ дан 5 December 2019 в 07:51

Теги

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