Saya memiliki masalah yang dilaporkan oleh pengguna pada sistem Jenkins yang saya instal di perusahaan baru saya. Saat mengunduh file rilis dengan ekstensi ".tgz" (file tarz gzip dari Linux), file-file ini berganti nama menjadi ".gz" oleh MS Internet Explorer dan browser Edge saat kami mengunduhnya.
Saya telah mereproduksi ini di IE. Jika Anda klik kiri pada tautan unduhan, itu secara otomatis dan tanpa nama mengganti file yang diunduh menjadi ".gz". Jika Anda mengklik kanan dan memilih "Simpan target sebagai", ekstensi default adalah ".gz". Saya tidak punya apa-apa dengan Edge, tapi saya tidak punya alasan untuk meragukan laporan itu.
Saya melakukan penyelidikan untuk melihat apakah saya bisa mempersempitnya ...
Saya bertanya-tanya apakah ini merupakan masalah dengan proksi reverse Nginx melakukan sesuatu yang aneh dengan tipe MIME, jadi saya mematikan layanan Nginx dan mengarahkan IE ke " http: //my.internal.jenkins.server: 8080 "(bukan nama sebenarnya dari tautan, tentu saja, tetapi Anda tidak dapat melihatnya karena ada di balik firewall kami). Lagi-lagi, IE menyimpan file" .tgz "dengan ekstensi" .gz ".
Saya bertanya-tanya apakah itu masalah dengan Jenkins, jadi saya mencari file lain untuk diunduh. Mengunduh rilis Moodle sebagai tgz, sekali lagi saya mendapatkannya disimpan dengan ekstensi ".gz". Jadi sepertinya masalah umum dengan browser, bukan dengan server Jenkins saya.
Edit: Diulang ini dengan file dari lokasi lain secara daring ...
- https://varnish-cache.org/_downloads/varnish-5.2.1.tgz mengunduh dengan benar di Edge.
- https://www.arb-silva.de/fileadmin/silva_databases/qiime/Silva_104_release.tgz mengunduh dengan benar di Edge.
- https://files.zimbra.com/downloads/8.6.0_GA/zcs-patch-8.6.0_GA_1162.tgz mengunduh dengan benar di Edge.
- https://www.coin-or.org/download/source/Ipopt/Ipopt-3.3.3.tgz tidak mengunduh dengan benar di Edge.
- http://www.netlib.org/lapack/lapack-3.7.0.tgz tidak mengunduh dengan benar di Edge.
- http://gmsh.info/src/gmsh-1.49.0-source.tgz tidak mengunduh dengan benar di Edge.
Saya sudah mencoba hal yang sama di Chrome (di Windows) dan Firefox (di Ubuntu). Keduanya mengunduh file ".tgz" dengan benar. Jadi sepertinya khusus untuk browser MS.
Memilih "Salin pintasan", URL pasti selesai ".tgz". Bahkan jika Anda mengunduh file dan membiarkan IE mengganti nama menjadi ".gz", jika Anda masuk ke daftar "Unduhan" dan memeriksa tautannya, lagi-lagi ini melaporkan URLnya adalah ".tgz".
Konten file tidak berubah. Mengubah nama kembali saat mengunduh, atau mengganti nama file setelah mengunduh, itu berfungsi dengan baik.
Saya sudah menekan Google, tentu saja. Berikut ini adalah yang terdekat yang saya temukan, tetapi mereka tampaknya tidak punya solusi.
Ini bukan masalah yang saya perhatikan dengan pengaturan Jenkins di perusahaan saya sebelumnya. Namun demikian, di perusahaan saya sebelumnya kami memiliki kebijakan menggunakan Chrome atau Firefox dalam preferensi untuk IE, jadi sangat mungkin bahwa masalah ada di sana dan kami tidak pernah menyadarinya. Pekerjaan saya yang sebenarnya adalah perangkat lunak yang disematkan, jadi devops bukanlah sesuatu yang memiliki keahlian mendalam.
Apakah ada yang punya wawasan tentang ini, tolong?
sumber
Content-Disposition: attachment
header dapat digunakan untuk menyarankan nama untuk file yang diunduh. Mungkin Jenkins menyarankan ekstensi yang salah melalui tajuk dan beberapa browser menerimanya, sementara yang lain mengekstrak ekstensi dari URL. Anda dapat dengan mudah menangkap tajuk Pemain biola ..tgz
. IE berjalan sangat lambat, tetapi nama sementara memang memiliki.tgz
di dalamnya. Seperti yang dikatakan tautan kedua Anda, file header semuanya ada di sini, jadi silakan tambahkan semua header Anda ke posting untuk diperiksa. Jsfiddle tidak memiliki header, jadi browser tidak mengacaukannya.Jawaban:
Edge hanya melihat
Content-type
header untuk menentukan ekstensi file apa yang digunakan, seperti yang ditunjukkan oleh masalah yang Anda tautkan .Jadi jelas Anda memiliki asosiasi file
application/x-gzip
danapplication/g-zip
.sumber
application/gzip
.application/octet-stream
juga berlaku meskipun hanya biner generik, yang lainnya tidak terdaftar dengan IANA.