ฉันใช้ lighttpd เพื่อให้บริการไฟล์คงที่ ฉันมีรูปภาพจำนวนมากใน dir ที่ฉันอัปเดตเป็นประจำ สิ่งนี้จะเปลี่ยนเนื้อหาไฟล์ (และขนาดไฟล์) รวมถึงวันที่แก้ไข แต่ไม่เปลี่ยนชื่อไฟล์
เมื่อฉันเข้าถึงไฟล์ผ่าน http การอัพเดตจะไม่ถูกนำมาพิจารณาและให้บริการไฟล์เก่า ๆ ฉันสามารถเปลี่ยนชื่อไฟล์เป็นสิ่งที่แตกต่างกันด้วยตนเองจากนั้น lighttpd จะส่งคืนข้อผิดพลาด 404 และหากฉันเปลี่ยนชื่อไฟล์กลับมาฉันจะได้รับเวอร์ชันอัปเดตที่ถูกต้อง ดูเหมือนว่า lightty กำลังใช้กลไกแคชบางอย่างของตัวเอง (ซึ่งใช้ได้) เพื่อส่งคืนไฟล์สแตติก น่าเสียดายที่ดูเหมือนว่ากลไกนี้จะไม่อัปเดตตัวเองเมื่อมีการแก้ไขไฟล์
ฉันตรวจสอบผ่าน Wireshark และเบราว์เซอร์ของฉันกำลังส่งคำขอไปยังไฟล์จริงๆนี่ไม่ใช่ปัญหาการแคชของเบราว์เซอร์ มันจะคืนค่า 200 OK เมื่อร้องขอจากแคชเปล่าและ 304 Not Modified เป็นอย่างอื่นตามที่คาดไว้ แต่ไฟล์จะถูกส่งคืนโดยมีส่วนหัว Last-Modified ที่ไม่ถูกต้องซึ่งไม่สะท้อนวันที่แก้ไขล่าสุดจริง
อาจมีคำสั่งปรับแต่งบางอย่างที่ฉันไม่ทราบ?
ฉันต้องการไฟล์ที่ส่งคืนโดย lighty เพื่อแสดงถึงการเปลี่ยนแปลงที่เกิดขึ้นบนดิสก์โดยตรงหรืออย่างน้อยก็สามารถทำให้แคชใช้ไม่ได้
อัปเดตสำหรับทุกคนที่ติดตามคำถามนี้: ฉันพบผู้ร้าย หากฉันอัปเดตไฟล์สแตติก Lighty จะไม่ส่งคืนเนื้อหาใหม่ แต่จะส่งคืนความยาวเนื้อหาใหม่ในส่วนหัวของมันทำให้มีการแสดงขยะ หากฉันบีบอัดไฟล์โดยใช้ mod_compress ปัญหาจะหายไปเมื่อ mod_compress ใช้ระบบแคชของตัวเอง น่าเสียดายที่ฉันไม่สามารถบีบอัดไฟล์ทั้งหมด (เช่นไฟล์รูปภาพ) ดังนั้นมันเป็นเพียงการแก้ไขบางส่วน แต่ฉันจะกลับไปหามันในภายหลังและจะหาวิธีแก้ปัญหาอย่างละเอียด