Gần đây, tôi đã thiết lập một bản phân phối Cloudfront với chính sách bộ đệm hành vi sau:
- Cài đặt TTL:
- TTL tối thiểu (giây): 0
- TTL tối đa (giây): 31536000
- TTL mặc định (giây): 0
- Khóa bộ đệm:
- Tiêu đề - Không có
- Cookie - Không có
- Chuỗi truy vấn - Tất cả
Thật không may, các trang có tiêu đề phản hồi không có bộ đệm tiếp tục lưu vào bộ đệm phản hồi ở mức độ đồng thời khá thấp. Tôi đã sử dụng apachebench để chạy 100 yêu cầu với đồng thời là 5 và nhận được thông tin sau:
100 Kiểm soát bộ đệm: không có bộ đệm, không lưu trữ, phải xác thực lại, max-age=0
25 X-Cache: Lượt truy cập từ đám mây
75 X-Cache: Miss from cloudfront
Tôi cũng đã nắm bắt được đâu là tiêu đề phản hồi duy nhất phải là duy nhất cho mỗi yêu cầu/phản hồi (do không có tiêu đề/cookie yêu cầu) và điều này cũng cho thấy rằng có các phản hồi Set-Cookie trùng lặp. Ví dụ: phản hồi này đã quay lại 4 lần:
4 Đặt cookie: csrftoken=h2uU7TKHJ6AicHgOIaJTwC5qIXJN4Zwf; Tên miền=.mysite.com; hết hạn=Tue, 17-Jan-2023 15:10:37 GMT; Tuổi tối đa=31449600; Đường dẫn =/
Tôi tin rằng tôi có nhiều cách để giải quyết vấn đề này, chẳng hạn như các hành vi Cloudfront có mức độ ưu tiên cao hơn để đặt chính sách không có bộ đệm, tuy nhiên, phía máy chủ sẽ mất quyền lực để quyết định xem phản hồi có nên được lưu vào bộ nhớ đệm động hay không và cho biết rằng Cloudfront không tôn trọng quyết định phía máy chủ.