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
- Ein Cloud Server unter Linux (Ubuntu 16.04).
- Apache Webserver installiert und läuft
- On-Demand skalierbar, Load Balancer und Traffic inklusive
- Hochverfügbare Server-Plattform
- ISO-zertifizierte Rechenzentren am Standort Deutschland
- Inkl. 100,- € Startguthaben im 1. Monat
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.
- Automatisch: Backups und Recovery
- Intuitiv: Planung und Management
- Intelligent: KI-basierter Bedrohungsschutz
- Inkl. 300,- € Startguthaben im 1. Monat
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
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.
- Inklusive Wildcard-SSL-Zertifikat
- Inklusive Domain Lock
- Inklusive 2 GB E-Mail-Postfach