Bagaimana cara saya menyajikan file pra-gzip dengan nginx sehingga mereka akan ditampilkan sebagai teks di browser?


17

Saya memiliki banyak file log gzip yang ingin saya sajikan dengan nginx. Saya ingin mereka dilayani sedemikian rupa sehingga secara otomatis meningkat oleh browser. Saya berasumsi itu berarti saya perlu nginx untuk mengirim file sebagai .gz dengan header teks / polos. Ini dapat dilakukan di apache dengan sesuatu seperti:

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

Jawaban:


24

Anda memerlukan HttpGzipStaticmodul untuk ini. Masukkan gzip_static on;konfigurasi Anda dan buat .gzfile Anda . Anda perlu menyimpan zip dan file asli, kemudian Anda dapat meminta, misalnya, /css.cssdan dilayani zip/css.css.gz


Satu catatan kecil: disarankan bahwa waktu modifikasi kedua file (mtime) adalah sama.
Alexander Azarov

2
Dan Anda dapat mengujinya bekerja curl --header "Accept-Encoding: gzip" -I your_url, dan tanpa - header untuk memeriksanya masih melayani file yang tidak dikompresi jika perlu.
Tom

Tampaknya pendekatan ini TIDAK bekerja dengan indeks seperti index.html.gz, jika Anda menambahkannya ke daftar indeks menggunakan "index index.html.gz", itu akan disajikan sebagai unduhan ketika Anda mencoba mengakses "$ url / ". Saya masih mencari solusi yang akan membuat indeks gzipped juga dapat dijelajahi.
sorin

file asli tidak diperlukan kecuali Anda menggunakan try_files mailman.nginx.org/pipermail/nginx/2012-June/034102.html . Saya mencoba gunzip ondan try_files serverfault.com/questions/571733/...
rofrol
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.