Tôi đang sử dụng lighttpd để phục vụ các tệp tĩnh. Tôi có một loạt các hình ảnh trong một thư mục mà tôi thường xuyên cập nhật. Điều này sẽ thay đổi nội dung tệp (và kích thước tệp) cũng như ngày sửa đổi, nhưng không phải tên tệp của chúng.
Khi tôi truy cập các tệp qua http, các bản cập nhật không được tính đến và nhẹ nhàng phục vụ tệp cũ. Tôi có thể tự đổi tên tệp thành một cái gì đó khác, sau đó lighttpd sẽ trả về lỗi 404 và nếu tôi đổi tên tệp của mình trở lại, tôi sẽ nhận được phiên bản cập nhật chính xác. Có vẻ như lightty đang sử dụng một số loại cơ chế bộ đệm của riêng mình (điều này tốt) để trả về các tệp tĩnh. Thật không may, có vẻ như cơ chế này không tự cập nhật khi các tệp được sửa đổi.
Tôi đã kiểm tra thông qua Wireshark và trình duyệt của tôi thực sự đang yêu cầu tệp, đây không phải là vấn đề về bộ nhớ đệm của trình duyệt. Nó trả về 200 OK khi yêu cầu nó từ bộ đệm trống và 304 Không được sửa đổi theo cách khác, như mong đợi. Nhưng tệp được trả về với tiêu đề Sửa đổi lần cuối sai, không phản ánh ngày sửa đổi cuối cùng thực sự.
Có lẽ có một số chỉ thị cấu hình mà tôi không biết?
Tôi muốn các tệp được trả về bằng ánh sáng để phản ánh trực tiếp các thay đổi được thực hiện trên đĩa hoặc ít nhất là có thể làm mất hiệu lực bộ đệm của nó.
Cập nhật cho bất cứ ai theo dõi câu hỏi này: Tôi tìm thấy một thủ phạm. Nếu tôi cập nhật một tệp tĩnh, Lighty không trả về nội dung mới, nhưng sẽ trả về Độ dài nội dung mới trong các tiêu đề của nó, dẫn đến rác được hiển thị. Nếu tôi nén tệp bằng mod_compress, vấn đề sẽ biến mất khi mod_compress sử dụng hệ thống bộ đệm riêng của nó. Thật không may, tôi không thể nén tất cả các tệp (ví dụ: tệp hình ảnh). Vì vậy, nó chỉ là một sửa chữa một phần, nhưng tôi sẽ quay lại với nó sau và sẽ cẩn thận tìm ra giải pháp.