Wie kann man Schienen am besten sagen, schwache statt starke ETAGs zu verwenden, wenn sie die Methoden fresh_when
verwenden? und stale?
?
Der Grund, warum ich frage ist, dass nginx (korrekt) starke ETAG-Header aus Antworten entfernt, wenn Sofort-Gipping ist aktiviert .
Ich nahm den Code aus @ grossers Antwort und verwandelte ihn in einen Edelstein:
Sie können dies einfach zu Ihrer gemfile hinzufügen:
%Vor% Und es wird in Ihrer Middleware vor Rack::ConditionalGet
installiert:
Dann werden alle e-tags, die von rails generiert werden, entweder mit Rack :: ETag oder mit expliziten e-tags, in weak konvertiert. Verwenden einer gepatchten oder Version & gt; 1.7.3 von nginx, dann können Sie E-Tags und Gzip-Komprimierung verwenden.
RACK 1.6 Standardeinstellungen Etags zu schwach - dieses Juwel ist nicht mehr hilfreich, wenn Sie upgraden.
Hier ist eine Alternative, die Änderungen in Ihrem Anwendungsserver vermeidet. Diese Anweisung konvertiert alle von Ihrer Anwendung zurückgegebenen Etags in schwache Etags, bevor sie von der Antwort entfernt werden. Setzen Sie es in Ihre Nginx-Konfiguration:
%Vor%Ich habe überprüft, dass dies mit nginx 1.7.6 funktioniert.
Tags und Links nginx ruby-on-rails http etag