归档 2010年9月10日

最后更新于 .

今天在进行CGI外网部署的时候,出现一个很奇怪的问题。
先说明一下背景:
在webserver上的一个CGI-A会通过libcurl来访问另一个webserver上的CGI-B,并将调用的结果返回给前台。
问题的表现:
前台看到是CGI-A超时,抓包发现在调用CGI-B的时候,http请求正常返回,但是时延达到1s左右。
但是当在浏览器直接输入CGI-B的链接的时候,就在40ms之内即可返回。

具体抓包如下:
命令:

sudo tcpdump -s 0 -nX host [ip] -i eth1 -w data

libcurl调用CGI-B:

http://www.vimer.cn/wp-content/uploads/2010/09/data_err

浏览器直接访问CGI-B:

http://www.vimer.cn/wp-content/uploads/2010/09/data_suc

在wireshark中仔细的对比了请求包,发现只有两个地方不同:

libcurl调用CGI-B:

1

浏览器直接访问CGI-B:

2

但是当时怎么也没有想到居然真的就出在了gzip的问题上。

后来总监过来看了一眼,注意,就一眼!(果然姜还是老的辣啊),就说 ...

昨天

2010年9月9日

明天

2010年9月11日

归档