首先我觉得这不是nginx的问题,我们的squid代理也有此问题。目前测试感觉是IE兼容性问题。
测试设备:NOKIA; Lumia 800 Windows Phone OS 7.5 IE 9
测试过程:
1、手机通过wifi或者3g网络以域名方式访问联通的服务器,user-agent到达服务器就会有ua被降低版本的情况,以ip形式访问,就没有问题。
2、我手工以curl方式(带域名)访问服务器,ua没有变化。
3、用手机以域名形式访问其他公司的网站,ua没有变化。
UA对比:
NOKIA; Lumia 800 IP访问UA内容(这是正常标准的UA内容):
[18/Apr/2013:14:02:44 +0800] "GET / HTTP/1.1" 200 9 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; NOKIA; Lumia 800)" 10.0.151.19
NOKIA; Lumia 800 域名访问
[18/Apr/2013:13:44:07 +0800] "GET /ui/h5/js/resize_func.js HTTP/1.0" 304 0 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.5; Trident/3.1; IEMobile/7.0; NOKIA; Lumia 800)" 10.0.101.34
Nokia 920 IP访问UA内容(这是正常标准的UA内容):
[18/Apr/2013:14:03:40 +0800] "GET / HTTP/1.1" 200 9 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Nokia 920)" 10.0.151.19
NOKIA; Lumia 920 域名访问
[18/Apr/2013:13:41:09 +0800] "GET /ui/h5/js/resize_func.js HTTP/1.0" 304 0 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; NOKIA; Nokia 920)" 10.0.133.47
域名访问realserver 使用tcpdump抓包也显示UA降级为Mozilla/4.0
但是域名访问其他公司的正常,之前以为是我们的网络或者网络中的代理、cache问题,换了访问出口以及IDC网络问题依旧。
弄了一个squid代理上网,让手机通过这个代理出去,在代理这边,UA版本号就已经降级了,
把手机重置为出厂设置,再使用域名访问都正常。
目前觉得是IE兼容性问题,资料如下:
http://beautyoftheweb.cn/Content/zh-CN/Developers/ie10whitepaper/
http://msdn.microsoft.com/zh-cn/library/ie/hh869301(v=vs.85).aspx
还请大家帮助谢谢