Come faccio a impedire a lighttpd di memorizzare i file statici, anche se modificati su disco?

Sto utilizzando lighttpd per servire file statici. Ho un gruppo di immagini in un dir che aggiorgo regolarmente. Ciò cambierà il contenuto del file (e il file system) e la data di modifica, ma non il nome del file.

Quando accedo i file tramite http, gli aggiornamenti non vengono presi in considerazione e leggermente servono il vecchio file. Posso rinominare manualmente il file a qualcosa di diverso, poi lighttpd restituirà un errore 404 e se rimetto il file, riceverò la versione corretta aggiornata. Sembra che la lightty utilizza un qualche tipo di meccanismo di cache propria (che va bene) per restituire i file statici. Sfortunatamente, sembra che questo meccanismo non si aggiorna quando i file vengono modificati.

  • Qual è il modo più efficace per bloccare le richieste HTTP / HTTPS in ingresso da un vecchio nome di dominio?
  • MPM di Apache - Lavoratore vs Prefork
  • 404 quando si cerca di abbreviare gli URL per MediaWiki con Lighttpd
  • Apache inizia automaticamente su Ubuntu, deve essere arrestato per riavviare lighttpd
  • Migliori performance del webserver per Python Django: Apache mod_wsgi o Lighttpd fastcgi
  • Esegui un'applicazione node.js con lighttpd
  • Ho controllato tramite Wireshark e il mio browser sta facendo veramente una richiesta al file, questo non è un problema di cache del browser. Restituisce un errore 200 quando lo richiede da una cache vuota e un altro non modificato 304, come previsto. Ma il file viene restituito con un'intestazione errata Ultima modifica che non riflette l'ultima data di modifica effettiva.

    Forse c'è una direttiva di configuration che non sono a conoscenza?

    Vorrei che i file restituiti da Lighty riflettessero direttamente le modifiche apportte al disco o alless potessero invalidare la sua cache.

    Aggiornamento per chiunque abbia seguito questa domanda: ho trovato un colpevole. Se aggiorni un file statico, Lighty non restituisce il nuovo contenuto, ma restituisce la nuova Content-Length nelle sue intestazioni, con conseguente spazzatura visualizzata. Se compro il file con mod_compress, il problema si allontana poiché mod_compress utilizza il proprio sistema di cache. Purtroppo, non posso comprimere tutti i file (file di image per esempio). Quindi è solo una correzione parziale, ma tornerò più tardi e cercherò di trovare una soluzione.

    5 Solutions collect form web for “Come faccio a impedire a lighttpd di memorizzare i file statici, anche se modificati su disco?”

    Ho finalmente trovato la questione. E viene da VirtualBox.

    Quando si modifica un file nell'host (Win), lighttpd nell'ospite (Linux) non aggiorna correttamente il contenuto del file (ma aggiorna correttamente la dimensione del file), restituendo così contenuti limitati o confusi.

    Smontare le unità condivise e reinstallarle, oppure modificare i file direttamente nell'ospite, ha risolto il problema.

    Ci sono voluti 6 mesi per finalmente capirlo.

    Non si accenna se si dispone di mod_cache installato o less? Questo module predefinito è 'abilitato' quando installato.

    Mi dispiace per suggerirlo, ma agendo su Etags aiuto?

    Prova queste voci etag e vedi se ti aiutano:

    Regole di controllo della cache per lighthttpd

    Provare a impostare la cache di stat motore a 'distriggersto':

    server.stat-cache-engine = "disable' 

    Questa opzione lighttpd ha funzionato per me

     server.network-backend = "writev" 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.