2012-01-20 23 views
5

Tôi có a Rails app sử dụng Cloudfront làm CDN và sprockets để nén nội dung và đặt tiêu đề dài Cache-Control.thiết lập Cloudfront để không bao giờ tìm nạp lại nội dung

yêu cầu đầu tiên để một tài sản mang lại cho tôi tiêu đề phản ứng như vậy:

 
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 

Perfect. Nó bị mất bộ nhớ cache từ Cloudfront, tìm nạp nó từ ứng dụng của tôi, vì vậy nó sẽ tải nó từ bây giờ từ bây giờ.

Bây giờ ... nếu tôi làm mới trang tôi nhận được những phản ứng tiêu đề:

 
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 

Hình như nó nhấn CloudFront. Tôi nhận được 304 not modified. Vì vậy, có vẻ như tôi không tải xuống tệp một lần nữa BAO GIỜ, tôi thấy yêu cầu này cũng được gửi tới máy chủ nguồn của tôi.

Tại sao điều này lại xảy ra? Không nên Cloudfront luôn lưu vào bộ nhớ cache nội dung của tôi ngay bây giờ? Tôi đang versioning tài sản của tôi, vì vậy tôi thực sự KHÔNG BAO GIỜ muốn điều này được lấy từ máy chủ lưu cho các yêu cầu đầu tiên. Có cách nào tôi có thể ép buộc loại hành vi này không?

Trả lời

Các vấn đề liên quan