Önceden sıkıştırılmış dosyaları tarayıcıda metin olarak gösterilmek için nginx ile nasıl sunabilirim?


17

Ben nginx ile hizmet etmek istiyorum gzipped günlük dosyaları bir sürü var. Tarayıcı tarafından otomatik olarak şişirilecek şekilde sunulmalarını istiyorum. Ben bir metin / düz üstbilgi ile dosyaları .gz olarak göndermek için nginx gerekir anlamına gelir varsayalım. Bu apache'de aşağıdaki gibi bir şeyle yapılabilir:

<FilesMatch *.gz>
    ForceType text/plain
</FilesMatch>

Yanıtlar:


24

Bunun için HttpGzipStaticmodüle ihtiyacınız var . gzip_static on;Yapılandırmanızı koyun ve .gzdosyalarınızı oluşturun. Sen o zaman, örneğin talep edebilirsiniz, hem sıkıştırılmış ve orijinal dosyayı tutmak gerekir, /css.cssve sıkıştırılmış hizmet/css.css.gz


Küçük bir not: her iki dosyanın da değişiklik sürelerinin (mtime) aynı olması önerilir.
Alexander Azarov

2
Ve bununla çalıştığını test curl --header "Accept-Encoding: gzip" -I your_urledebilirsiniz ve --header olmadan, gerekirse sıkıştırılmamış dosyayı sunup sunmadığını kontrol edebilirsiniz.
Tom

Görünüşe göre bu yaklaşım index.html.gz gibi dizinlerle çalışmaz, eğer "index index.html.gz" kullanarak dizinler listesine eklerseniz, "$ url / ". Hala gzip dizinleri de göz atılabilir hale getirecek bir çözüm arıyorum.
sorin

try_files mailman.nginx.org/pipermail/nginx/2012-June/034102.html kullanmadığınız sürece orijinal dosyaya gerek yoktur . Denedim gunzip onve try_files serverfault.com/questions/571733/…
rofrol
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.