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.

Mehr als nur eine Domain!

Hier finden Sie Ihre perfekte Domain - z.B. .de Domain + persönlicher Berater

E-Mail-Postfach
24/7 Support
Wildcard SSL