Caching ist ein zentrales Werkzeug, um die Performance von Apache-Webservern zu verbessern. Durch das Zwischenspeichern von Inhalten können wiederholte Anfragen schneller beantwortet, die Serverlast reduziert und die Nutzererfahrung deutlich verbessert werden. In diesem Leitfaden erfahren Einsteiger, IT-Studierende und Junior Network Engineers, wie Apache Caching mit mod_cache eingerichtet wird und welche Best Practices für einen effizienten Betrieb zu beachten sind.
Systemvorbereitung
Bevor Caching aktiviert wird, sollte das System aktualisiert werden, um alle notwendigen Pakete und Sicherheitsupdates bereitzustellen.
System aktualisieren
sudo apt update
sudo apt upgrade -y
Für CentOS/RHEL:
sudo yum update -y
Apache Installation prüfen
sudo systemctl status apache2 # Ubuntu/Debian
sudo systemctl status httpd # CentOS/RHEL
mod_cache aktivieren
Apache verwendet mod_cache in Kombination mit mod_cache_disk, um Inhalte auf dem Dateisystem zu speichern.
Module aktivieren (Ubuntu/Debian)
sudo a2enmod cache
sudo a2enmod cache_disk
sudo systemctl restart apache2
Module aktivieren (CentOS/RHEL)
sudo yum install mod_cache mod_cache_disk -y
sudo systemctl restart httpd
Cache-Verzeichnis anlegen
Für mod_cache_disk muss ein Verzeichnis existieren, in dem die gecachten Inhalte gespeichert werden.
sudo mkdir -p /var/cache/apache2/mod_cache_disk
sudo chown -R www-data:www-data /var/cache/apache2/mod_cache_disk
sudo chmod -R 700 /var/cache/apache2/mod_cache_disk
Proxy und Cache konfigurieren
Die Konfiguration erfolgt in den Virtual Hosts oder in der Hauptkonfigurationsdatei /etc/apache2/sites-available/meinewebsite.conf.
Beispielkonfiguration
<VirtualHost *:80> ServerName meinewebsite.de DocumentRoot /var/www/html# Aktivierung von mod_cache
CacheQuickHandler off
CacheLock on
CacheLockPath /tmp/mod_cache-lock
CacheIgnoreHeaders Set-Cookie
# Disk-Cache aktivieren
CacheRoot /var/cache/apache2/mod_cache_disk
CacheEnable disk /
CacheDirLevels 2
CacheDirLength 1
# Ablaufzeiten
CacheDefaultExpire 3600
CacheMaxExpire 86400
CacheIgnoreNoLastMod OnParameter-Erklärung
- CacheQuickHandler: Deaktiviert schnellen Handler, um Header zu überprüfen
- CacheLock: Verhindert “Thundering Herd” Problem bei gleichzeitigem Cache-Zugriff
- CacheIgnoreHeaders: Ignoriert bestimmte Header, z. B. Cookies, für Cache
- CacheRoot: Speicherort des Disk-Cache
- CacheEnable: Aktiviert Cache für Pfad oder Location
- CacheDirLevels / CacheDirLength: Verzeichnisstruktur für Cache-Dateien
- CacheDefaultExpire / CacheMaxExpire: Ablaufzeiten in Sekunden
Performance-Optimierung
Effizientes Caching hängt von richtigen Parametern und einem klaren Ablaufplan für die Cache-Ablage ab.
Cache-Größe und Struktur
- Disk-Cache ausreichend groß wählen (z. B. 1–5 GB je nach Webseitengröße)
- CacheDirLevels und CacheDirLength an Dateisystem anpassen, um Verzeichnisüberlastung zu vermeiden
Cache-Validierung
Der Cache sollte regelmäßig geprüft werden, ob Inhalte aktualisiert werden müssen.
CacheIgnoreNoLastMod On
CacheDefaultExpire 3600
CacheMaxExpire 86400
HTTPS und Caching
Bei verschlüsseltem Traffic muss Apache SSL-Termination unterstützen, um Inhalte effizient zu cachen.
Beispiel HTTPS VirtualHost
<VirtualHost *:443> ServerName meinewebsite.de DocumentRoot /var/www/htmlSSLEngine on
SSLCertificateFile /etc/letsencrypt/live/meinewebsite.de/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/meinewebsite.de/privkey.pem
CacheQuickHandler off
CacheLock on
CacheLockPath /tmp/mod_cache-lock
CacheIgnoreHeaders Set-Cookie
CacheRoot /var/cache/apache2/mod_cache_disk
CacheEnable disk /Monitoring und Logs
Überwachung des Cache-Status und der Zugriffsmuster hilft, die Performance zu bewerten.
Cache-Status prüfen
curl -I http://meinewebsite.de/ # Prüfen des Headers: X-Cache, um HIT oder MISS zu sehenApache Logs
tail -f /var/log/apache2/access.log tail -f /var/log/apache2/error.logNetzwerk und Subnetze
Optimales Caching hängt auch von der Netzwerkarchitektur ab, insbesondere bei begrenzter Bandbreite.
Subnetzberechnung
Beispiel: Server-IP 192.168.90.15/24
<math> Subnetzadresse = 192.168.90.15 & 255.255.255.0 = 192.168.90.0 Broadcastadresse = 192.168.90.0 | ~255.255.255.0 = 192.168.90.255 </math>Netzwerkinterface konfigurieren
sudo nano /etc/netplan/01-netcfg.yamlnetwork: version: 2 renderer: networkd ethernets: enp0s3: dhcp4: no addresses: - 192.168.90.15/24 gateway4: 192.168.90.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]sudo netplan applyBest Practices
- Cache nur für statische oder semi-statische Inhalte aktivieren
- Cache-Größe an verfügbare Festplatten- und RAM-Ressourcen anpassen
- Regelmäßige Überwachung von Cache-Hits und -Misses
- HTTPS-Traffic mit Caching kombinieren
- Alte oder fehlerhafte Inhalte regelmäßig aus dem Cache entfernen
- Logs analysieren, um Fehler und Engpässe frühzeitig zu erkennen
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

