HTTP-Content-Caching im Apache unter Ubuntu 16.4 konfigurieren

Erfahren Sie, wie Sie die Leistung Ihrer Website verbessern können, indem Sie das HTTP-Content-Caching im Apache einrichten. Der Apache ist in der Lage, verschiedene Arten von Caching durchzuführen, einschließlich Key/Value und Datei-Caching. Dieses Tutorial konzentriert sich auf das grundlegende HTTP Content Caching, die am häufigsten verwendete Form des Caching mit Apache.

    Anforderungen

    Cloud Server von IONOS

    Vertrauen Sie auf flexibel skalierbare und zuverlässige Cloud Server auf hochverfügbarer Infrastruktur mit Standort Deutschland inklusive persönlichem Berater und minutengenauer Abrechnung - Sie zahlen also wirklich nur Ihre benötigten Ressourcen!

    VMware Virtualisierung
    Rest API
    Unlimited Traffic

    Apache-Cache-Zustände

    Das HTTP-Cache-System des Apache teilt seine Inhalte in drei Zustände ein:

    • Fresh: Neue Inhalte, die ohne Prüfung bereitgestellt werden können
    • Stale: Inhalte, die nach den von Ihnen festgelegten Regeln abgelaufen sind und die auf eine neue Kopie überprüft werden müssen
    • Missing: Inhalt, der fehlt

    Wenn der Apache eine Anfrage erhält, überprüft er den Time To Live (TTL)-Zeitstempel. Wenn die TTL abgelaufen ist, überprüft der Apache diesen Inhalt erneut, um festzustellen, ob eine aktualisierte Version verfügbar ist.

    • Wenn eine aktualisierte Version verfügbar ist, holt der Apache diesen Inhalt und speichert ihn, bis die neue TTL abläuft
    • Wenn die bestehende Version nicht aktualisiert wurde, aktualisiert der Apache die TTL in der Datei und stellt die Datei weiterhin zur Verfügung, bis die TTL abläuft

    Der Apache verwendet das mod_cache Modul, um die TTL auf Inhalte auszuwerten und festzustellen, was zu tun ist, wenn er eine Anfrage erhält. Es verwendet das mod_cache_disk Modul, um die Daten auf der Festplatte zu speichern.

    Einsatz des Apache Cache

    Bevor Sie das HTTP-Caching konfigurieren, müssen Sie entscheiden, ob Sie den Cache entweder vor oder hinter dem Webserver einsetzen möchten.

    CacheQuickHandler ist die Einstellung, die bestimmt, wo der Cache eingesetzt wird.

    Cache vor dem Webserver

    Wenn CacheQuickHandler auf On gesetzt ist, wird der Cache vor der Weitergabe an Apache überprüft.

    Dies ist ein sehr schneller Weg, um Inhalte zur Verfügung zu stellen, da Anfragen nicht darauf warten müssen, dass der Apache die Anfrage beendet. Dies ist jedoch nicht sicher. Da der gesamte Inhalt der Website vor dem Webserver ausgespielt wird, findet keine Authentifizierung statt.

    Das bedeutet, dass, wenn Sie Inhalte haben, die von Benutzern eine Anmeldung oder Authentifizierung erfordern, diese Inhalte für jeden zugänglich sind, der sie anfordert.

    Bei der Konfiguration des Apache HTTP-Cache ist zu beachten, dass CacheQuickHandler standardmäßig eingeschaltet ist. Wenn dies zu einem Sicherheitsproblem für Ihre Website führt, müssen Sie sicherstellen, dass das Feature ausgeschaltet ist.

    Cache hinter dem Webserver

    Wenn CacheQuickHandler auf Off gesetzt ist, wird der Request durch den Apache geleitet, bevor er aus dem Cache geholt wird.

    Diese Methode ist nicht so schnell wie das Setzen des Caches vor den Webserver, da Anfragen über den Apache verarbeitet werden müssen. Es ermöglicht jedoch eine Authentifizierung und ist daher am besten für alle Inhalte geeignet, bei denen sich der Benutzer vor dem Zugriff auf Inhalte anmelden oder authentifizieren muss.

    Für dieses Tutorial werden wir CacheQuickHandler auf Off setzen.

    Cloud Backup von IONOS

    Maximaler Schutz für Ihre Unternehmensdaten: Einfache Backups für Cloud-Infrastruktur, PCs und Smartphones, inklusive persönlichem Berater!

    Umfassender Schutz
    Einfache Wiederherstellung
    Schnelle Datenspeicherung

    Aktivieren der Apache-Module

    Um das HTTP-Caching einzurichten, installieren Sie zunächst das Paket apache2-utils:

    sudo apt-get update
    sudo apt-get install apache2-utils

    Aktivieren Sie die erforderlichen Apache-Module:

    sudo a2enmod cache
    sudo a2enmod cache_disk
    sudo a2enmod expires
    sudo a2enmod headers

    Starten Sie dann den Apache neu, damit die Änderungen wirksam werden:

    sudo systemctl restart apache2

    Hinzufügen der virtuellen Host-Konfigurationen

    Die folgende Konfiguration ist als Beispiel aufgeführt. Es ist ein guter Ausgangspunkt für einen einfachen HTTP-Cache, der sich hinter dem Webserver befindet, und bei dem der Inhalt 5 Minuten nach dem letzten Zugriff abläuft.

    Es gibt viele Konfigurationen, die Sie hinzufügen und ändern können. Eine vollständige Liste ist auf der Apache-Website verfügbar.

    Das Apache-Caching wird am besten auf Domain-für-Domain-Basis konfiguriert. Öffnen Sie die Apache-Konfigurationsdatei für die Domain mit dem Befehl:

    sudo nano /etc/apache2/sites-available/example.com.conf
    Hinweis

    Wenn Sie keine virtuellen Apache-Hosts konfiguriert haben, bearbeiten Sie die Standardkonfigurationsdatei:

    sudo nano /etc/apache2/sites-available/000-default.conf

    Scrollen Sie zum Ende der Datei und fügen Sie die folgenden Zeilen über der Zeile mit der Aufschrift </VirtualHost> hinzu:

    CacheQuickHandler off
    CacheLock on
    CacheLockPath /tmp/mod_cache-lock
    CacheLockMaxAge 5
    CacheIgnoreHeaders Set-Cookie
    
    <Location />
        CacheEnable disk
        CacheHeader on
        CacheDefaultExpire 800
        CacheMaxExpire 64000
        CacheIgnoreNoLastMod On
        ExpiresActive on
        ExpiresDefault A300
    </Location>

    Speichern und beenden Sie die Datei. Überprüfen Sie dann mit dem Befehl auf Konfigurationsfehler:

    sudo apachectl configtest

    Wenn in der Datei keine Fehler vorhanden sind, starten Sie den Apache neu, damit die Änderungen wirksam werden:

    sudo systemctl restart apache2

    Testen des HTTP-Cache

    Um sicherzustellen, dass das Caching-System funktioniert, überprüfen Sie das Verzeichnis, in dem der Cache gespeichert wird. Listen Sie z.B. zuerst den Inhalt des Cache-Verzeichnisses auf:

    ls -la /var/cache/apache2/mod_cache_disk/

    Wenn es sehr wenig Traffic auf Ihrem Server gibt und Sie gerade das Caching eingerichtet haben, werden Sie wahrscheinlich nur wenige Elemente sehen:

    user@localhost:/var/www/html# ls -la /var/cache/apache2/mod_cache_disk/
    total 20    
    drwxr-xr-x 5 www-data www-data 4096 Feb  1 21:43 .
    drwxr-xr-x 3 root     root     4096 Jan  6 03:20 ..
    drwx------ 3 www-data www-data 4096 Feb  1 21:42 2
    drwx------ 3 www-data www-data 4096 Feb  1 21:42 T

    Stöbern Sie auf Ihrer Website und überprüfen Sie das Verzeichnis erneut:

    user@localhost:/var/www/html# ls -la /var/cache/apache2/mod_cache_disk/

    insgesamt 20

    drwxr-xr-xr-x 5 www-Daten www-Daten www-Daten 4096 Feb 1 21:45 .

    drwxr-xr-xr-x 3 root root 4096 Jan 6 03:20 ...

    drwx------ 3 www-Daten www-Daten www-Daten 4096 Feb 1 21:42 2 2

    drwx------ 3 www-Daten www-Daten www-Daten 4096 Feb 1 21:43 b

    drwx------ 3 www-Daten www-Daten www-Daten 4096 Feb 1 21:42 T

    Im obigen Beispiel wurde das Verzeichnis b als Reaktion auf das Anzeigen einer der Seiten der Website erstellt. Dieses Verzeichnis enthält den Cache des Servers für die Seite.

    Sie können auch das Caching Ihrer Website mit einem Tool wie dem auf der SEO Site Checkup-Website or Seomator überprüfen.

    Domains günstig kaufen

    Domains so einzigartig wie Ihre Ideen.  Worauf warten Sie?

    Registrieren Sie jetzt Ihre Wunsch-Domain mit IONOS!

    E-Mail-Postfach
    Wildcard SSL
    Persönlicher Berater

    Halt! Wir haben noch etwas für Sie!

    Eigene E-Mail-Adresse
    schon ab 1,- €/Mon.
    Professionell: 100% werbefrei
    Firmen- oder Private E-Mail-Adresse inkl. Domain
    E-Mail-Weiterleitung, Spam- und Virenschutz