2012-01-20 2 views
5

나는 Cloudfront를 CDN 및 스프로킷으로 사용하여 자산을 압축하고 Cache-Control 헤더를 길게 설정하여 a Rails app을 보유하고 있습니다. 자산Cloudfront에서 자산을 다시 채우지 않음

먼저 요청과 같이 나에게 응답 헤더를 제공합니다

 
Cache-Control:public, max-age=31536000 
Connection:close 
Content-Encoding:gzip 
Content-Type:application/javascript 
Etag:"892a3afb514e3c84646835f9ef101026" 
Last-Modified:Tue, 17 Jan 2012 16:05:17 GMT 
Server:thin 1.2.11 codename Bat-Shit Crazy 
Vary:Accept-Encoding 
Via:1.0 c662f4e5a3bc7b224ce1bbecb0a23d82.cloudfront.net:11180 (CloudFront), 1.0 fc4797024fafe16fcc03e892c23f078d.cloudfront.net:11180 (CloudFront) 
X-Amz-Cf-Id:bd2a89fb81bba2513f30d6940347693ef483defb4783da06d81b002af23545c39b9176b2c7cb144f,VF69FYlYU8ezzHQp7QkU2GvEQ8NmDqEwRX-wu7H63yNqE1ZlTaAq3g== 
X-Cache:Miss from cloudfront 
X-Runtime:0.012413 
X-Ua-Compatible:IE=Edge,chrome=1 

완벽한합니다. Cloudfront에서 캐시를 놓친 다음 내 앱에서 가져온 캐시이므로 지금부터로드해야합니다. 내가 페이지를 새로 고치면

지금 ... 나는이 응답 헤더를 얻을 : 그것은 CloudFront를 충돌처럼

 
Connection:keep-alive 
Server:thin 1.2.11 codename Bat-Shit Crazy 
Via:1.0 86123d99569c9296c8605243e9a10621.cloudfront.net:11180 (CloudFront), 1.0 de9fc23d505dae3d19973a98bfa1eba0.cloudfront.net:11180 (CloudFront) 
X-Amz-Cf-Id:a7bf6ffb30c43d306835190d210aeb8ec794c1ff619ad7aaecbad220c1822fe165bda624ae8382e1,bcij_88KOAvLPSqEKDRSvOBjEj7atiKBCAjSbqc2cfdb-BHOTi--LA== 
X-Cache:RefreshHit from cloudfront 
X-Runtime:0.006909 
X-Ua-Compatible:IE=Edge,chrome=1 

보인다. 304 not modified이 있습니다. 따라서 파일을 다시 다운로드하지 않는 것 같습니다. 그러나이 요청은 내 원본 서버에도 적용되는 것으로 보입니다.

왜 이런 일이 발생합니까? Cloudfront에서 항상 내 자산을 캐시해서는 안됩니까? 내 자산을 버전 관리하고 있으므로 첫 번째 요청에 대해 서버에서 저장하지 않아야합니다. 이런 유형의 행동을 강요 할 수있는 방법이 있습니까?

답변

관련 문제