- 论坛徽章:
- 0
|
本帖最后由 silty 于 2010-06-11 22:40 编辑
郁闷,Avira不能使用squid代理升级了,前段时间还好好的,这两天就不行了。原因找到了,既不是Avira服务器问题,也不是squid问题,但二者的处理方式遇到一起,问题就来了。我该找谁呢?找Avira修改程序,人肯定不鸟我,自己手动定制squid?这个,俺不是程序员出身,搞不定,郁闷!---因为某些原因,只能使用代理~~
1、环境信息:
操作系统:windows xp professional sp2
Avira版本: Avira AntiVirus personal 9.0中文版
Squid版本号:squid/2.7.STABLE5
2、问题:
1)、直连Internet的PC,可以正常更新
2)、使用squid代理的PC,很难更新成功:手动更新十几次,仅会成功一两次
3、排查步骤:
1)、Avira设置代理后,发送给squid的get请求如下;
GET http://68.142.79.69/update/idx/master.idx HTTP/1.1\r\n
Pragma: no-cache\r\n
Cache-Control: no-store, no-cache, must-revalidate\r\n
Host: personal.avira-update.com\r\n
User-Agent: AntiVir-NGUpd/9.0.0.52
Connection: Keep-Alive\r\n
2)、经过squid代理后,“host”被修改为“ 68.142.79.69”:
GET /update/idx/master.idx HTTP/1.0\r\n
Pragma: no-cache\r\n
Host: 68.142.79.69\r\n
User-Agent: AntiVir-NGUpd/9.0.0.52
Via: 1.0 PC2009110909miv:3320 (squid/2.7.STABLE5)\r\n
X-Forwarded-For: 192.168.1.33\r\n
Cache-Control: no-cache, no-store, must-revalidate, max-age=259200\r\n
Connection: keep-alive\r\n
3)、Server回应400 bad request,从而导致升级失败
Expert Info (Chat/Sequence): HTTP/1.0 400 Bad Request\r\n
Server: EdgePrism/3.7.3.3\r\n
4)、原因:EdgePrism这厮是代理Server,真实的Server是其后端的Apache,由于host被修改成了IP,所以直接被无视。
解决方法:Avira向代理提交URI地址host为域名而非IP,或者squid不修改host名称。Avira就不用考虑了,貌似只有修改squid了, 哪位大大可以帮帮忙?不胜感激涕零~~~ 更换代理? |
|