Кэширование всех изображений на внешнем сайте через Cloudflare - PullRequest
0 голосов
/ 07 июня 2019

Вот моя ситуация:

У меня есть веб-приложение, которое использует много изображений на удаленном сервере.Мое веб-приложение находится за Cloudflare, хотя сервер, на котором размещены изображения, не .. и этот сервер может работать очень медленно.Иногда это может занять около 5 секунд для каждого изображения.

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

Это то, что я должен настроить на рабочем месте?Как правило страницы?Или просто не использовать CLoudflare таким образом?

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

Если вы не можете изменить заголовки исходного сервера, вы можете попробовать следующий фрагмент в вашем работнике:

fetch(event.request, { cf: { cacheTtl: 300 } })

Согласно документам :

Эта опция заставляет Cloudflare кэшировать ответ на этот запрос, независимо от того, какие заголовки видны в ответе.Это эквивалентно установке двух правил страницы: «Edge Cache TTL» и «Cache Level» («Cache Everything»).

0 голосов
/ 09 июня 2019

Я думаю, что вы, как правило, просто хотите очень длинный кеширующий заголовок для ваших изображений.Что-то вроде:

Cache-Control: public; max-age=31536000
...