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

Файлы CSS не обновляются в Cloudfront

Возникла эта проблема с моим веб-сайтом, который не отображает обновленные файлы CSS.

В последний раз, когда у меня была эта проблема, я удалил свою корзину S3 и раздачу CloudFront и воссоздал всю корзину и раздачу с новыми именами. Теперь проблема повторяется. Каждый раз, когда я вношу изменения в файл CSS сайта, файлы на CloudFront не обновляются. Если я ввожу путь к файлу вручную, я вижу, что файл CSS был обновлен в хранилище S3, но не на стороне CloudFront.

Таким образом, файл из S3 не синхронизируется на CloudFront. Любая помощь приветствуется. Прямо сейчас единственный способ заставить сайт отображаться правильно - это отключить CDN / CloudFront.

Я использую Wordpress 2.9 с плагином W3 Total Cache. Я не думаю, что проблема в Wordpress и плагине Total Cache, поскольку они выполнили свою работу по загрузке обновленного файла CSS в хранилище S3.

Я пытался подождать ~ 24 часа, возможно, это проблема с кешем, но, видимо, нет.

Спасибо.

Если у кого-то еще есть такая же проблема, вот как ее решить.

Вот как сейчас работает мой сайт:

Веб-хостинг Pair.com -> Amazon S3 -> Amazon CloudFront (CDN)

Установка Wordpress находится на хостинге Pair.com. Когда я вношу изменения, подключаемый модуль W3TC обновит файл на сервере S3. В противном случае вы также можете вручную загрузить файл на сервер S3 с помощью веб-консоли Amazon Web Services или сторонних программ (я использую S3 Organizer). Проблема в том, что когда дело доходит до обновления того же файла в CloudFront. Это невозможно сделать вручную, и CloudFront обновляется только раз в 24 часа.

Что вы можете сделать, так это отправить в CloudFront запрос на аннулирование. После принятия запроса на признание недействительности файл новой версии будет загружен из S3, и проблема будет решена.

Самый простой способ сделать недействительность - использовать сторонние исследователи S3. На данный момент эта функция есть только в Bucket Explorer и CloudBerry. Если вы хотите сделать это без помощи этих программ, вот документ на Amazon.com, который научит вас, как это сделать: http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/Actions_Invalidations.html

CraigH @ AWS сказал, что они работают над внедрением команды Invalidation в веб-консоль AWS, но не знают точной даты, когда эта функция будет запущена.