как настроить кеширование картинок с амазона и их отдачу как своих?

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

наслушавшись расказы что картинки нагружают хостниг все картинки было решено перенести на S3 хостинг. Перенеслось все успешно, но появились вопросы.
1. Гогл пишет что картинки подгруженные с амазона не кешируются броузерами. картинки подгружаются через src=’$amazonID’ ( где аmazonID="https://s3.amazonaws...") В апаче было настроенно кеширование и картинки с хостинга кешировлись нормально. Как это теперь сделать с амазона ?
2. как настроить апач что бы гогл попрежнему думал что картинки лежат на основном хостинге а не выдавал адреса вида https://s3.amazonaws.. ?

Спасибо.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Кстати, вот полезные инструменты для оптимизации картинок. В случае использования амазона — экономия места будет важна.

Проблема з кешуванням не з S3 (це лише інструмент), а з неправильними хедерами.
S3 дозволяє писати метадані які будуть віддаватися як хедери, доститньо лише прописати правильні хедери.
CloudFront перед S3 (або перед апачем) вирішує цю проблему з коробки, там все настроюється ручками/крутилками в AWS консолі.

перша ссилка в гуглі — CloudFront — www.newvem.com/...d-distribution
(читати текст, на малюнки не дивитися, з малюнками там якась лажа)

як саме просте(але зороше) рішення просто настроїти клаудфронт перед вашим сервером, без використання s3 та іншого. Він буде проксювати реквести до вашого основного серверу та кешувати статичний контент (по прописаних правилах).
також його можна настоїти як CDN — www.larryullman.com/...front-as-a-cdn

клаудфронт почитал, вроде то что нужно. Скорее всего на него и переедем. НА С3 было нормально, но счас заканчивается бесплатный период и начались непонятки сколько прийдется платить, а если еще и не кешируется то платить раз в 10-20 больше.

>В апаче было настроенно кеширование и картинки с хостинга
> кешировлись нормально. Как это теперь сделать с амазона ?

У каждой картинки в метаданных прописать заголовки — либо Expired, либо Cache-Control:max-age. Если картинок много и лень ковыряться — старые картинки стереть и перезалить указав заголовок при заливке — это в любой заливалке на s3 есть.

как настроить апач что бы гогл попрежнему думал что картинки лежат на основном хостинге

Через мод-рерайт — пропускать картинку через свой скриптик, который бы тянул её с амазона, кеширование там какое угодно можно придумать. По другому наверное никак, вы же клоакинг не хотите делать? :)
Вообще говоря, это какой-то непонятный выбор — либо апач, либо s3. И вместо апача можно попробовать поставить какой-то отдельный вебсервер для картинок и вместо s3 можно что-то более специализированное для картинок подобрать.

где эти метаданные для картинок ? картинки лежат в папке, в базе есть ID товара и там же лежит ссылка на картинку. Когда тащатся данные о товаре вытаскивается и ссылка на картинку, после этого картинка в показывается при помощи img src=’$amazonID’
где мне теперь указать этот заголовок

Expired, либо Cache-Control:max-age.
?
Сайт тормозил из за размера и количества картинок на страницах, переезд на С3 год назад казался логичным и легким решением что бы распаралелить картинки и снизить нагрузку. Сейчас наверно перейдем на клаудфрон — он как раз решает проблему кеширования и отдачи.

Метаданные меняются в свойствах файла, в амазоновском s3-просмотрщике где-то справа вверху кнопочка, сейчас не могу конкретно уточнить. Там нужно добавить новый заголовок. Для картинок же сейчас все бросились дропбокс клонировать, поэтому существует куча бесплатных решений. Просто сочетание шаред хостинга и S3 как-то замысловато выглядит.

amazon S3 AWS, сайт хостится на шаринг хостинге

Можно использовать CluodFront для отдачи статического контента из S3 с вашего сабдомена. Примеры легко гуглятся по запросу `CloudFront S3`

вроде то что нада, но там тоже нет никаких зацепок как установить кеширование в броузере.

Підписатись на коментарі