前言
目前,微软的官方网站已经有了详细的脚本,来指导用户对IIS和Apache做配置,实现IE8兼容,但是对其他的主流服务器则没有做更多介绍,由于工作需要,我这边在工作的时候,做了一些其他服务器中配置的办法。Nginx服务器到目前为止,差不多占据了服务器市场的10%的市场份额,而中国区也差不多有250万的网站用户,所以有必要讲讲如何去配置兼容性。
本文主要是介绍在Nginx服务器中的配置办法,包括以下内容:
- 前言
- 配置思路
- 在Nginx-Win32版本中的配置办法
- 在Nginx-Linux版本中的配置办法
配置思路
大家知道,根据微软MSDN中的文章介绍,发现无论是IIS,还是Apache,都是通过在服务器端的Http Header模块添加了兼容性设置标签,服务器处理客户端页面请求时,自动在当前返回结果中添加一个http头信息,即“X-UA-Compatible:IE=EmulateIE7”,这个时候IE8接收到包含这部分头信息的网页时,自动以指定的兼容性模式显示。根据这个原理,我们在Nginx服务器服务器也可以去做类似的配置。
在继续阅读具体IE8兼容性配置办法前,请阅读一下“NginxChsHttpHeadersModule”内容,这里专门介绍了在Nginx服务器中处理Http都信息模块的内容。
在Nginx-Win32版本中的配置办法
1、 在windows server 2003中部署nginx-0.6.36-win32版本
2、 打开“\nginx\conf”目录下的“nginx.conf”文件,并按照下面格式增加兼容性标记
3、 重新启动nginx服务
4、 浏览nginx默认站点,http://localhost,并用httpwatch来抓包监控,会发现已经正常工作
在Nginx-Linux版本中的配置办法
1、 在ubuntu9.0.4中安装nginx服务器
2、 打开“/etc/nginx/nginx.conf”文件,并添加兼容性标记,如下图所示
3、 测试运行结果
在我的默认目录下,我拷贝了一个1.html的文件,作为测试的目标
在另外一台计算机上面,访问http://192.168.154.129/1.html地址(这是我测试计算机的地址),并通过httpwatch工具抓包,会获取到兼容性设置的http头信息;
在IE浏览器中,也正常工作。