Browser-Caching für statische Dateien
Plesk unterstützt die Konfiguration von Browser-Caching für statische Ressourcen für einzelne oder alle Domains. Bitte beachten Sie, dass für die zentrale Einrichtung aller Domains ein Unmanaged Server mit SSH Root-Zugriff erforderlich ist.
Einrichtung für eine Domain
Wählen Sie zunächst die Domain aus, für die Sie Browser Caching aktivieren möchten. Navigieren Sie anschließend zu den Apache & nginx Einstellungen der Domain.
Zusätzliche NGINX Direktiven:
location ~* \.(js|jpg|jpeg|gif|png|css|tgz|gz|rar|bz2|doc|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|woff|woff2|svg)$ {
etag on;
add_header Cache-Control "public, max-age=31536000";
}
Google empfiehlt mindestens 365 Tage für statische Ressourcen.
Quelle: https://developer.chrome.com/docs/lighthouse/performance/uses-long-cache-ttl?hl=de
Einrichtung für alle Domains
Für die Einrichtung ist ein Unmanaged Server mit SSH Root-Zugriff erforderlich
Melden Sie sich via SSH am Server an und erstellen Sie folgende Datei:
touch /etc/nginx/conf.d/expires.global
location ~* \.(js|jpg|jpeg|gif|png|css|tgz|gz|rar|bz2|doc|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|woff|woff2|svg)$ {
etag on;
add_header Cache-Control "public, max-age=31536000";
}
Erstellen Sie anschließend ein neues Verzeichnis für die virtuellen Templates:
mkdir -p /usr/local/psa/admin/conf/templates/custom/domain/
Kopieren Sie das Standard NGINX Template in das neue Verzeichnis:
cp -p /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php /usr/local/psa/admin/conf/templates/custom/domain/
Bearbeiten Sie das Standard NGINX Template und fügen Sie die neue globale Konfigurationsdatei am Ende hinzu:
nano /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php
include /etc/nginx/conf.d/expires.global;
# Ende der Datei
<?php if (is_file($VAR->domain->physicalHosting->customNginxConfigFile)): ?>
include "<?php echo $VAR->domain->physicalHosting->customNginxConfigFile ?>";
<?php endif ?>
}
Neue Domains werden automatisch mit dieser Konfiguration ausgerollt, sodass das Browser-Caching via NGINX im Standard aktiv ist. Damit sichergestellt wird, dass auch bestehende Domains die korrekte neue Konfiguration erhalten, muss folgender Befehl ausgeführt werden:
/usr/local/psa/admin/bin/httpdmng --reconfigure-all
Beispiel Max-Age Werte
Header | Wert | Beschreibung |
---|---|---|
Cache-Control | public, max-age=31536000 | 365 Tage |
Cache-Control | public, max-age=15552000 | 180 Tage |
Cache-Control | public, max-age=7776000 | 90 Tage |
Cache-Control | public, max-age=5184000 | 60 Tage |
Cache-Control | public, max-age=2592000 | 30 Tage |
Cache-Control | public, max-age=604800 | 7 Tage |
Browser-Caching überprüfen
Um die Anpassungen des Caching-Verhaltens zu überprüfen, führen Sie folgenden Befehl aus:
curl -I https://www.creoline-demo.com/static/styles.css
HTTP/2 200
server: nginx
date: Thu, 08 Aug 2024 12:18:50 GMT
content-type: text/css
content-length: 25500
last-modified: Thu, 08 Aug 2024 12:18:50 GMT
etag: "4107c187-125zc"
cache-control: public, max-age=31536000
Überprüfen Sie die HTTP-Antwort, ob sowohl der Cache-Control
Header den Wert public
als auch den max-age
Wert enthält. Zusätzlich muss ebenfalls ein etag
Header dargestellt werden.