Как контролировать кэш в Nginx

Кэширование — это важный протокол, как HTTP и просмотр.

Основным принципом кэширования контента является выгрузка повторяющейся работы с серверов.

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

Политики кеша определяются браузерами и выделенными серверами кеша.

Механизм кеша работает с помощью заголовка управления кешем.

Кэш-память

Сначала откройте файл конфигурации, используя следующую команду:

 # cd /etc/nginx/conf.d/
# vim vir.conf 

Добавьте в файл следующую конфигурацию :

 server {
server_name www.itsecforu.ru;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location ~.(jpg) {
root /usr/share/nginx/html;
}
} 

Сохраните и выйдите из файла конфигурации после завершения.

Теперь вам нужно проверить синтаксис.

 # nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful 

Теперь вы должны перезапустить службу nginx следующим образом:

 # systemctl restart nginx 

И тогда вам нужно выполнить команду curl.

Вы заметите, что на выходе нет информации, связанной с Cache-контролем.

 # curl -I http://www.itsecforu.ru/index1.jpg
HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Mon, 05 Feb 2018 12:29:17 GMT
Content-Type: image/jpeg
Content-Length: 12871
Last-Modified: Mon, 05 Feb 2018 11:59:55 GMT
Connection: keep-alive
ETag: "5a78473b-3247"
Accept-Ranges: bytes 

Итак, вам нужно снова открыть файл конфигурации.

 # vim vir.conf 

Теперь добавьте заголовок expire 48h, который по умолчанию добавляет заголовок управления кешем и для этого добавляет следующее.

 server {
server_name www.linuxhelp1.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location ~.(jpg) {
root /usr/share/nginx/html;
expires 48h;
}
} 

Сохранить и выйти из файла конфигурации

Еще раз перезапустите службу nginx.

 # systemctl restart nginx 

И выполните команду curl, чтобы проверить Cache-Control.

# curl -I http://www.itsecforu.ru/index1.jpg
HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Mon, 05 Feb 2018 12:31:19 GMT
Content-Type: image/jpeg
Content-Length: 12871
Last-Modified: Mon, 05 Feb 2018 11:59:55 GMT
Connection: keep-alive
ETag: "5a78473b-3247"
Expires: Wed, 07 Feb 2018 12:31:19 GMT
Cache-Control: max-age=172800
Accept-Ranges: bytes 

Теперь вы заметите, что Cache-Control видна.

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *