После посещения моего сайта я должен обновить для нового контента. Я использую облачный фронт - PullRequest
0 голосов
/ 24 января 2019

У меня есть веб-сайт WordPress на AWS с 2 экземплярами EC2 за балансировщиком нагрузки. Затем CloudFront направляется на этот балансировщик нагрузки, а S3 обрабатывает мои изображения.

Мы публикуем статьи ежедневно. Когда я захожу на сайт, мне нужно перезагрузить страницу, чтобы увидеть новые статьи.

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

Если это CloudFront, в чем может быть проблема? Если нет, то как мне решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Вы можете решить эту проблему, установив TTL от источника и просто указав CloudFront использовать заголовки кэша источника.

В качестве альтернативы, вы можете сделать это только в CloudFront напрямую,

  • , установив поведение index.html равным 0 TTL (оставьте все остальные настройки такими же) и
  • поведение по умолчанию для всего остального * и установите TTL на то, что вы предпочитаете.

Шаблоны путей для поведения кэша - очень полезная статья

0 голосов
/ 24 января 2019

Несколько месяцев назад я столкнулся с той же проблемой с Cloudfront. Это проблема, связанная с кэшированием объектов в Cloudfront. Итак, сначала перейдите по этому URL-адресу А затем соответствующим образом настройте облачный фронт и укажите свой балансировщик нагрузки.

Если вы сделали это ранее, вам необходимо настроить файлы .htaccess для установки этих заголовков. Я думаю, что в настоящее время у вас есть 300 секунд или больше для кэширования объектов.

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

Эту проблему также можно решить с помощью плагинов кэширования, таких как breeze, или вы можете использовать веб-сервер LiteSpeed, который в 5 раз быстрее любого другого веб-сервера со своим собственным плагином кэширования. Я предпочитаю второй метод, потому что LiteSpeed ​​помогает мне ускорить мой веб-сайт и обрабатывает большой трафик, например, 5 млн. + Трафика в месяц на VPS Lightsail за 5 долларов или Ec2 за 10 долларов (экземпляр t2.micro).

Примените эти методы и скажите мне, работает ли он, или я расскажу вам другие методы. Помните, что лучше всего использовать плагин кэширования, который я бы рекомендовал Breeze, и использовать ttl этого плагина кеширования в CloudFront. Или вы можете просто использовать веб-сервер Litespeed, чтобы сократить расходы на AWS и навсегда решить эту проблему.

...