Używam Nginx jako webserwera i chcę zaimplementować metodę buforowania przeglądarki, aby użytkownicy mogli przechowywać kopie statycznych niezmienionych plików lokalnie i pobierać tylko zmienione pliki. Jedną z propozycji było użycie plików timestamp do wykrycia zmienionych plików i odświeżenia ich tylko, ale nie jest to możliwe w moim przypadku, ponieważ po każdym nowym wdrożeniu tworzona jest nowa wersja całej aplikacji internetowej i wszystkie znaczniki czasu plików zmiana.Jak skonfigurować ETag na Nginxie
Zbadałem trochę o nagłówku ETag i wydawało mi się to całkiem dobrym rozwiązaniem, ale dowiedziałem się, że Etagi nie są jeszcze oficjalnie wspierane przez Nginx.
Czy istnieje sposób na wdrożenie Etags na Nginx lub na jakiekolwiek alternatywne rozwiązania?
Jeśli wyłączysz 'gzip' używając' gzip off; ', możesz zobaczyć nagłówek' etag' na swojej odpowiedzi. – efkan
Należy pamiętać, że nginx używa daty ostatniej modyfikacji pliku i rozmiaru pliku do wygenerowania etag. –
Jeśli widzisz skargę ze skanera bezpieczeństwa (Nikto itp.) Na temat wycieków ikodów etags, jest to prawdopodobnie fałszywe potwierdzenie, jeśli używasz nginx, ponieważ [nginx nie zawiera i-inów w etagach] (http://serverfault.com/questions/690341/algorithm-behind-nginx-etag-generation). Można go wyłączyć w apache, choć domyślnie apache ma nieszczelne i-węzły (zobacz dyrektywę 'FileETag'). – Synchro