Nginx Proxy: “cache file has too long header”

Wer Nginx als Proxy benutzt wird seit Nginx 1.8. festgestellt haben, dass Meldungen wie diese hin und wieder im Error Log auftauchen.

[crit] 7963#7963: *23361 cache file “/pfad/zum/cache/p/5/e9/057f8418b79165162c4e6ff4f6b71e95” has too long header,

Die Meldungen können unterschiedliche Bedeutungen haben, entweder ist der Cache abgelaufen oder die Datei ist wirklich beschädigt. In jedem Fall wird sich die Ladezeit der Seite verschlechtern da ein Request zum Backend Server geschickt werden muss um den Cache zu erneuern.

Je nachdem was dort geladen werden soll kann es bis zu 8 Sekunden länger dauern die Seite zu laden (Durchschnitt einiger Messungen verschiedener Seiten).

Im Netz gibt es tausende Wege und Geschichten zu diesen Meldungen und zum Testen habe ich auch einiges probiert aber es brachte alles nichts. Es half wirklich nur den Header Buffer zu erhöhen aber das behob diese Meldungen auf Anhieb.

Um also den Fehler zu beheben muss man lediglich zwei einfache Zeilen hinzufügen.

Ich habe in meinem Fall einfach in die nginx.conf folgendes in die http Sektion eingetragen

client_header_buffer_size 32k;

large_client_header_buffers 4 64k;

Ich hoffe das hilft dem ein oder anderen bei der Fehlersuche / Behebung 😉

Und falls Ihr noch wissen wollt wie Ihr Nginx als Proxy Server installieren und einrichten könnt, schaut es euch hier gerne an

Anleitung: Nginx 1.8.0 als Reverse Proxy auf Debian 7/8

Share it!Share on FacebookEmail this to someoneShare on Google+Tweet about this on Twitter

Schreibe einen Kommentar