Назад | Перейти на главную страницу

Установка времени кеширования / истечения срока действия для каждого элемента в 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"
}

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

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

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