- 论坛徽章:
- 0
|
在为上海的朋友配置正向代理服务器的时候碰到了一个奇怪的问题,无法用IE6通过TS的代理访问www.sohu.com。测出不用TS是没问题的。更细致的研究发现,www.sohu.com对Accept-Encoding不敏感,完全不理会用户端发来的要求,只要协议是HTTP/1.1,一定会发Gzip压缩的数据回来。而TS默认的回源方式是http1.1的,因此不管前端IE是http1.0的请求,都会被TS转发为http1.1的请求,返回了gzip数据,造成IE解析不了。
通过如下2个参数的调整,可以搞定这个问题:
traffic_line -s proxy.config.http.send_http11_requests -v 3
traffic_line -s proxy.config.http.cache.enable_default_vary_headers -v 1
第一个参数设置只有用户端发送的请求是http1.1,并且后台服务器支持http1.1的情况下,才用http1.1的请求回源。
第2个参数启用了多副本的存储,默认存5份(另一个参数可控制)。
用httpui可以看到TS存储的正确信息:
├────────────────────────┬───────────────────────────────────────────────────────────────────────┤
│ │GET http://www.sohu.com/ HTTP/1.0 │
│ │Accept: */* │
│ │Accept-Language: zh-cn │
│ │Accept-Encoding: gzip,sdh │
│ Request Header │User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) │
│ │Host: www.sohu.com │
│ │Client-ip: 202.112.26.250 │
│ │X-Forwarded-For: 202.112.26.250 │
│ │Connection: keep-alive │
├────────────────────────┴───────────────────────────────────────────────────────────────────────┤
├────────────────────────┬───────────────────────────────────────────────────────────────────────┤
│ │HTTP/1.1 200 OK │
│ │Content-Type: text/html │
│ │Connection: close │
│ │Date: Tue, 13 Sep 2011 15:10:22 GMT │
│ Response Header │Server: SWS │
│ │Vary: Accept-Encoding,X-Up-Calling-Line-id,X-Source-ID,X-Up-Bearer-Type│
│ │Cache-Control: max-age=70 │
│ │Expires: Tue, 13 Sep 2011 15:11:32 GMT │
│ │Last-Modified: Tue, 13 Sep 2011 14:52:02 GMT │
│ │FSS-Cache: HIT from 2919329.4426667.3673016 │
├────────────────────────┼───────────────────────────────────────────────────────────────────────┤ |
|