放弃 Squid ~

最近刚碰到的问题:一台 win7 机器上的 Einstein@Home 不能通过 Squid 搭建的代理服务器上传计算结果,从 Squid 的日志中看到类似下面的一些条目:

1288581525.197      1 192.168.0.94 TCP_MISS/417 1803 POST http://einstein.phys.uwm.edu/EinsteinAtHome_cgi/file_upload_handler – NONE/- text/html

网上搜索 TCP_MISS/417,找到这里,结论:Squid 是基于 HTTP 1.0 的,对客户端 POST 请求中的 Expect: 100-continue 不能正确处理。

再然后顺藤摸瓜找到这里,针对 BOINC 和 Squid 的问题进行了比较详细的讨论。

所以,眼前的解决方法有两种:

1. Squid 适应 BOINC,把 Squid 配置文件中的 ignore_expect_100 打开,能解决 E@H 的问题,但不知道会不会出其他的问题
2. BOINC 适应 Squid,设置 cc_c0nfig.xml,强制 libcurl 使用 HTTP 1.0,内容如下:
<cc_config>
  <options>
    <http_1_0>1</http_1_0>
  </options>
</cc_config>

话说我从读大学的时候就在使用 Squid(在实验室给只能访问校园网的宿舍开代理),也算是感情深厚了,然后一两年前才停止使用,原因现在看来很可能就是上面那个(从 BOINC 的 5.10.40 版本开始),而当时似乎是认为开代理的机器处理双网卡有问题,结果就改用了 Vadalia 中附带的 Privoxy,也挺好用(下一步准备再试试 Polipo,因为喜欢有 Cache 的东西~)

This entry was posted in 软件应用 and tagged , . Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s