ฉันเพิ่งตั้งค่าการแจกจ่าย Cloudfront ด้วยนโยบายแคชพฤติกรรมต่อไปนี้:
- การตั้งค่า TTL:
- TTL ขั้นต่ำ (วินาที): 0
- TTL สูงสุด (วินาที): 31536000
- TTL เริ่มต้น (วินาที): 0
- คีย์แคช:
- ส่วนหัว - ไม่มี
- คุกกี้ - ไม่มี
- สตริงข้อความค้นหา - ทั้งหมด
ขออภัย เพจที่มีส่วนหัวการตอบกลับแบบไม่มีแคชยังคงแคชการตอบสนองในระดับการทำงานพร้อมกันที่ค่อนข้างต่ำ ฉันใช้ apachebench เพื่อเรียกใช้ 100 คำขอโดยพร้อมกันที่ 5 และได้รับสิ่งต่อไปนี้:
100 Cache-Control: ไม่มีแคช, ไม่มีที่เก็บ, ต้องตรวจสอบความถูกต้องใหม่, max-age=0
25 X-Cache: โจมตีจาก cloudfront
75 X-Cache: พลาดจาก cloudfront
นอกจากนี้ ฉันยังบันทึกสิ่งที่ควรเป็นส่วนหัวการตอบกลับที่ไม่ซ้ำใครซึ่งควรไม่ซ้ำกันต่อคำขอ/การตอบกลับ (เนื่องจากไม่มีส่วนหัวของคำขอ/คุกกี้) และสิ่งนี้ยังแสดงให้เห็นว่ามีการตอบกลับแบบ Set-Cookie ที่ซ้ำกัน ตัวอย่างเช่น การตอบกลับนี้กลับมา 4 ครั้ง:
4 ชุดคุกกี้: csrftoken=h2uU7TKHJ6AicHgOIaJTwC5qIXJN4Zwf; โดเมน=.mysite.com; หมดอายุ=อ. 17-ม.ค.-2023 15:10:37 GMT; อายุสูงสุด=31449600; เส้นทาง=/
ฉันมีวิธีแก้ปัญหาที่ฉันเชื่อ เช่น พฤติกรรมของ Cloudfront ที่มีลำดับความสำคัญสูงกว่าเพื่อกำหนดนโยบายแบบไม่มีแคช อย่างไรก็ตาม ฝั่งเซิร์ฟเวอร์ใช้พลังงานในการตัดสินใจว่าควรแคชการตอบสนองแบบไดนามิกหรือไม่ และบ่งชี้ว่า Cloudfront ไม่ใช่ เคารพการตัดสินใจฝั่งเซิร์ฟเวอร์