Skip to main content

 路由器设置 > 新闻资讯 >

IE无法正常下载sis格式文件的故障总结

2013-08-08 23:55 浏览:
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>