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

Nginx: используйте кеширование браузера для удаленных ресурсов (изображений)

На одном из моих сайтов есть изображения, размещенные на удаленном сервере. Я еще не придумал, как установить Cache-Control к удаленным источникам. Для локальных файлов я использую:

location ~* \.(jpg|jpe?g|gif|png|ico|cur|gz|svgz|mp4|ogg|ogv|webm|htc|css|js|otf|eot|svg|ttf|woff|woff2)(\?ver=[0-9.]+)?$ {
    expires 1M;
    add_header Access-Control-Allow-Origin '*';
    add_header Pragma public;
    add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    access_log off;
    }

Что отлично работает.

Я попытался добавить блок местоположения, содержащий удаленное местоположение файлов, по тому же принципу, что и локальный файл, например, https://example.com/img/ но nginx ничего не сделал. Цель всего этого - увеличить скорость работы сайта.

Любые предложения будут оценены.

Вы не можете изменить заголовки удаленных ресурсов, изменив что-либо на своем сервере. Вам нужно изменить их на сервере, который обслуживает файлы.

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