IE無法正常下載sis格式文件的故障總結

Web環境:

nginx + tomcat


故障現象:

1) IE瀏覽器訪問一個sis格式的文件時沒有提示下載,而是直接顯示了亂碼;

2) 用Chrome和Firefox打開則正常彈出下載提示框。


故障分析:

這種問題肯定是由MIME類型沒有設置正確導致的。


故障解決:

1) 在nginx上添加了sis格式文件的MIME類型,但是故障依舊;

2) 單獨使用nginx做測試,發現即使沒有設置MIME類型,IE照樣能下載sis格式的文件;

3) 於是懷疑故障出現在Tomcat上,後來查找發現在Tomcat的conf/web.xml配置文件中可以添加MIME類型,添加之後,故障解決。


故障總結:

1) nginx中配置的MIME類型只在nginx直接處理文件時生效,做反向代理時無效;

2) nginx沒有從後端獲取正確的MIME類型,所以按默認格式返回給了客戶端,IE沒有做過多判斷就直接打開了該文件;

3) IE似乎沒有Chrome和Firefox那麼智能,不過倒有利於我們測試;

4) 條件允許的情況下還是應該把此類靜態文件直接交給nginx處理。


附上conf/xml.conf中添加的內容,包括Android的apk格式和WP的cab格式:

<mime-mapping>
    <extension>apk</extension>
    <mime-type>application/vnd.android.package-archive</mime-type>
</mime-mapping>
<mime-mapping>
    <extension>sis</extension>
    <mime-type>application/vnd.symbian.install</mime-type>
</mime-mapping>
<mime-mapping>
    <extension>cab</extension>
    <mime-type>application/vnd.cab-com-archive</mime-type>
</mime-mapping>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章