mod_expire unter lighttpd korrekt einrichten

Wichtig bei einem Webserver ist es immer, dass der Browser weiß, wie lange er gewisse Daten maximal im Cache behalten darf.
Aus diesem Grund gibt es Module wie "mod_expire". Diese sind grundsätzlich leicht einzurichten. Wie es unter lighttpd funktioniert, möchte ich hier dennoch einmal kurz zeigen.

Zuerst einmal muss man das entsprechende Modul laden. Das ginge z.B. mit folgendem Befehl in der Konsole:

Quellcode

  1. lighty-enable-mod expire
Allerdings hat man hier keine Kontrolle, in welcher Reihenfolge das Modul gestartet wird. Empfohlen wird, es vor allen anderen zu starten.
Daher sollte man unter /etc/lighttpd/conf-available vorher die Datei "10-expire.conf" in "01-expire.conf" umbenennen, damit es möglichst früh geladen wird. Alternativ dazu kann man es auch in der Server-Konfiguration an erster Stelle der Module schreiben. Das ist von meiner Seite aus allerdings nicht empfohlen, da das Modul durch die eigene Konfigurationsdatei hinzugefügt wird.

Die Datei "01-expire.conf" sieht dann normal folgendermaßen aus:

Quellcode

  1. # http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModExpire
  2. server.modules += ( "mod_expire" )
Hier sind natürlich noch keine entsprechenden Regeln angegeben. Diese muss man demnach erst einmal selbst hinzufügen. Ich habe folgende Regeln bei mir aktiv:

Quellcode

  1. $HTTP["url"] =~ "\.(jpe?g|png|gif|svg)$" {
  2. expire.url = ( "" => "access plus 6 months" )
  3. }
  4. $HTTP["url"] =~ "\.(html?|js|txt|xml|css)$" {
  5. expire.url = ( "" => "access plus 2 months" )
  6. }
  7. $HTTP["url"] =~ "\.(ttf|woff)$" {
  8. expire.url = ( "" => "access plus 12 months" )
  9. }
Alles anzeigen
Damit werden Bilder (*.jpg, *.jpeg, *.png, *.gif, *.svg) 6 Monate im Cache behalten, Textdokumente (*.html, *.htm, *.js, *.xml, *.css) 2 Monate und Schriftarten (*.tff, *.woff) 12 Monate.

Diese Regeln können natürlich noch weiter angepasst werden, sofern entsprechendes Wissen rund um die Umschreibung unter lighttpd vorhanden ist. Hier kann ich die Docs von lighttpd empfehlen:
Docs:Configuration - Lighttpd - lighty labs

Wurde alles richtig konfiguriert, muss man nur noch die Konfiguration des Webservers mit folgendem Befehl neu laden:

Quellcode

  1. invoke-rc.d lighttpd reload
Dann sollte mit Hilfe von Firebug folgender Eintrag im Antwort-Header erscheinen:
Über den Autor
Ich bin Webentwickler in Stuttgart und administriere Server seit vielen Jahren. In diesem Blog erstelle ich hauptsächlich Tutorials für andere Webentwickler, Webdesigner und Serveradministratoren.
-------------------------------------------------------------------------------------------------------------------------------------
I’m a web developer in Stuttgart, Germany, and server administrator since many years. This blog mainly contains a tutorial set for other web developer, web designer and server administrators.

715 mal gelesen

Kommentare 0

Es wurden keine Einträge gefunden.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen