2015-01-16 2 views
0

я потратил несколько часов на проблему AWS CloudFront, надеюсь, кто-то может меня спасти: DCloudFront странное поведение

Когда я загрузить домашнюю страницу сайта, для каждого активов я получаю (на каждой перезагрузки):

X-Cache:Miss from cloudfront 

Когда я пытаюсь открыть актив на другой вкладке, я получил правильное поведение (пропустите первый вызов, а затем нажмите на каждую перезагрузку). То же самое с curl-запросами.

я перезагрузить мой дом и инспектировать тот же актив, я получаю:

X-Cache:Hit from cloudfront 

с того же возраста, как и в табл.

Тогда я перезарядить мою домашнюю страницу и снова проверять один и тот же элемент:

X-Cache:Miss from cloudfront 

: '(

И с этой точки, когда я перезагрузить актив на вкладке другой, я получаю промах. ..

Любая идея?

Спасибо,

Джери my

+0

Может быть кэш браузера, который хранит промаха на первой вкладке? Я имею в виду - вы уверены, что каждый раз вызывается от CloudFront? Чтобы проверить его, проверьте значение X-Amz-Cf-Id. Если это одинаково для каждой перезагрузки, то это локальный кеш –

+0

Правильно ли вы устанавливаете TTL на своих объектах? Учитывая поведение, которое вы описываете, TTL может быть очень низким или вообще не устанавливаться. Взгляните на [ответ на этот вопрос] (http://stackoverflow.com/questions/26569077/cloudfront-issue-when-using-load-balancer-and-route-53/26915251#26915251). –

+0

Спасибо за ваши ответы. – JJK801

ответ

0

После многих тестов конфигурации Apache и конфигурации CloudFront я обнаружил, что файлы cookie, которые вызывают это поведение, обнаруживают.

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

Чтобы решить эту проблему, создайте настраиваемое поведение для каждого типа пути (обратные вызовы, активы и т. Д.) И создайте белый список файлов cookie, который вам действительно нужно переслать.

Я надеюсь, что это поможет кому-то.

Благодаря @AlexZakharenko и @BruceP для ответов;)

Смежные вопросы