My desired behavior is to have cloudfront cache my origin(api endpoint that returns json).
Кажется, что независимо от того, какие значения я поместил в заголовок для max-age в моем источнике или какие значения "ttl" я положил в свой дистрибутив облачного фронта, попадание в кеш точек распространения в течение 24 часов в облачном фронте при использовании curl с PHP бэкэнд. При попадании в конечную точку через Chrome он кэшируется каждые 5 секунд, как хотелось бы (я думаю, что chrome отправляет no-cache в заголовок запроса)
У кого-нибудь есть рекомендации, как заставить Cloudfront кэшировать свежие данные каждые 5 секунд на моем сайте, особенно при использовании curl?
Я поразил точку API отдыха, которая отправляет json обратно, который должен динамически кэшироваться в облачном фронте каждые пять секунд. Кэш необходимо обновить через 5 секунд, чтобы свежие данные подавались, даже если они совпадают. Источник - это динамическое содержимое, которое меняется каждый час и не является статичным.
Нельзя ли преодолеть 24-часовой лимит кэширования?
Я пробовал разные заголовки Cache-Control, такие как max-age и s-maxage
Я пытался изменить время ttl в моем облачном фронте
Я установил Кэширование объектов на Настроить и:
Min TTL is 0
Max TTL is 5
Default TTL is 5
Мои исходные заголовки:
HTTP/1.1 200 OK
Date: Thu, 09 May 2019 14:15:17 GMT
Server: Apache/2.4.39 (cPanel) OpenSSL/1.0.2r mod_bwlimited/1.4 mpm-itk/2.4.7-04
Last-Modified: Thu, 09 May 2019 14:12:57 GMT
ETag: "e1ab8bae1d38bfceecece2c36df378c1-gzip"
X-Robots-Tag: noindex, follow
Link: <https://www.example.com/json/>; rel="https://api.w.org/"
Cache-Control: max-age=5
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Content-Length: 789
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/json