Tôi có tệp JS và CSS được phân phát qua Amazon Cloudfront. Cho đến bây giờ tôi đã sử dụng máy chủ của riêng mình đang chạy Varnish và khi tôi cập nhật bất kỳ tệp JS hoặc CSS nào hoặc tôi phải làm gì để sử dụng phiên bản mới đó để tăng số lượt truy cập trên thông số URL theo yêu cầu cho tệp đó.Thêm thông số URL (? P = 234) vào một tệp trên Amazon Cloudfront không buộc làm mới tệp
Vì vậy, URL của tệp được bao gồm sẽ chuyển từ .../file.css? R = 1 thành .../file.css? R = 2 và Varnish sẽ coi đó là tệp mới, yêu cầu nó và cache nó và phục vụ nó từ cache từ thời điểm đó.
Với Cloudfront Tôi nhận ra nó không hoạt động như vậy, nó vẫn phục vụ tệp được lưu trong bộ nhớ cache cũ (và tôi tiếp tục bị "nhấn từ Cloudfront" trên phản hồi HTTP).
Bất kỳ ý tưởng nào nếu tôi có thể thay đổi hành vi của Cloudfront cho điều này?
Bất kỳ điều gì khác tôi có thể làm không ngụ ý thực sự thay đổi tên của tệp mỗi khi tôi cập nhật tệp? Tôi cũng không muốn sử dụng tính năng không hợp lệ của bộ nhớ cache thông qua API của Cloudfront. Tôi nghĩ rằng đó là quá nhiều công việc cho những gì tôi đang cố gắng làm ở đây, và có một số lượng hạn chế (miễn phí) yêu cầu mỗi tháng tôi có thể thực hiện.
Sử dụng "Truy vấn chuỗi chuyển tiếp và lưu vào bộ nhớ cache" trong Cài đặt hành vi cache. Đặt giá trị thành "Chuyển tiếp tất cả, bộ đệm dựa trên tất cả" nếu bạn muốn Cloudfront hỏi nguồn cho tệp mới mỗi khi có thông số truy vấn hoặc "Chuyển tiếp tất cả, bộ nhớ cache dựa trên danh sách cho phép" nếu bạn chỉ muốn Cloudfront nhận phiên bản mới tùy thuộc vào danh sách trắng các thông số truy vấn. –