昨天仿真测试环境出现了新发布的版本,一个图片在IE6等下显示不了,提示一直下载,最后显示不,谷歌浏览器显示正常的问题。

环境:CentOS 5.5 64 +nginx 1.0.15 + php-fpm(php 5.2.17p1+fastcgi 0.6~5.2)

nginx 反向代理到后端两个 nginx

IE6 访问log

 
  
  1. 10.1.10.6 - - [29/Jun/2012:11:05:49 +0800] "GET /www/statics/p_w_picpaths/channels/soft/logined_banner.jpg HTTP/1.1" 200 24581 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2; .NET4.0C)" "-" "-" 277 0.001 10.1.10.100:18080 

goole chrome 访问 log

 
  
  1. 10.1.10.6 - - [29/Jun/2012:11:06:25 +0800] "GET /www/statics/p_w_picpaths/channels/soft/logined_banner.jpg HTTP/1.1" 200 36869 "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11" "-" "-" 415 0.001 10.1.10.100:18080 
  2. 10.1.10.6 - - [29/Jun/2012:11:06:41 +0800] "GET /www/statics/p_w_picpaths/channels/soft/logined_banner.jpg HTTP/1.1" 206 319 "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11" "-" "-" 508 0.001 10.1.10.100:18080 
  3. 10.1.10.6 - - [29/Jun/2012:11:06:41 +0800] "GET /www/statics/p_w_picpaths/channels/soft/logined_banner.jpg HTTP/1.1" 206 56927 "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11" "-" "-" 508 0.001 10.1.10.100:18080 

对比发现:http 状态码 返回正常为 200,但文件大小传输不对,而 goole chrome有多次下载动作

但是用IE6 直接访问后端是正常,难道是反向代理的问题,网上搜了一下,确实网上其他同仁有这个情况,但我这里还有不同的,就是该图片在其他测试环境,甚至是线上测试这个图片,IE6加载都是正常的。可以确定是这个缓存的问题,而且反向代理导致的。对照了基础环境,只是在编译nginx 加上了google-perltools ,在配置文件中屏蔽该加载

 
  
  1. pid        /usr/local/nginx/logs/nginx.pid; 
  2. #google_perftools_profiles /tmp/tcmalloc; 

测试,情况同样,看样子只能重新编译nginx测试。

重新编译后,同样反向代理,IE6 测试ok。

log

 
  
  1. 10.1.10.6 - - [29/Jun/2012:11:18:49 +0800] "GET /www/statics/p_w_picpaths/channels/soft/logined_banner.jpg HTTP/1.1" 200 93474 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2; .NET4.0C)" "-" "-" 513 0.015 10.1.10.100:18080 
  2. 10.1.10.6 - - [29/Jun/2012:11:18:52 +0800] "GET /www/statics/p_w_picpaths/channels/soft/logined_banner.jpg HTTP/1.1" 304 230 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2; .NET4.0C)" "-" "-" 327 0.000 10.1.10.100:18080 

不过水平有限,至于为啥子 google-perltools 导致了这个问题,研究不出来。