Vor einer Weile konfigurierte ich für meine Website https://kittmedia.com FastCGI-Microcaching, um die Geschwindigkeit deutlich zu steigern. Jetzt, einige Zeit später, fiel mir auf, dass manche HTTP-Header in der Antwort des Servers fehlen, obwohl sie konfiguriert sind. Selbst nach einer Google-Suche konnte ich keine Erklärung dafür finden, aber ich erkannte, dass der X-Cache-Header gesetzt wurde, der angibt, ob der Microcache erfolgreich getroffen wurde.
Diesen Header habe ich direkt in meiner FastCGI-Konfiguration angelegt, also versuchte ich, die fehlenden Header auch dort hinzuzufügen. Et voilà, nachdem ich sie auch dort hinzugefügt hatte, wurden sie auch von nginx ausgespielt.
Wenn du dich also wunderst, wohin die Header verschwunden sind: FastCGI-Microcaching scheint alle Header zu ignorieren, die nicht dort gesetzt werden, wo auch der Microcache konfiguriert ist, was logischerweise die FastCGI-Konfigurationsdatei ist.
Glücklicherweise sind meine Header in separaten Dateien nach Zweck sortiert, sodass ich diese nur noch über ein include
einbinden muss:
[…]
fastcgi_cache kittmedia;
fastcgi_cache_valid 200 60m;
fastcgi_cache_bypass $no_cache;
fastcgi_no_cache $no_cache;
fastcgi_cache_use_stale updating error timeout invalid_header http_500;
fastcgi_cache_lock on;
fastcgi_cache_lock_timeout 10s;
add_header X-Cache $upstream_cache_status;
include /etc/nginx/security/default_params;
include /etc/nginx/security/csp-kittmedia;
[…]
Code-Sprache: Nginx (nginx)