curl被限制了,原来是squid导致的

squid版本:2.7.STABLE9

近日出现了通过squid代理curl数据不成功,查看squid日志出现  Squid TCP_MISS / 417的错误

curl  -x ipA:3128 -d aa=asdjgsjdfgajsdgkjfgaskpost=kasgdkfgasasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgsjdfgajsdgkjfgaskdfgkasgdasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgkfgasasdasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjgasdjgsjdfgajsdgkjfgaskdfgkasgdkfgasasdjgasdjasasdjgasdjgsjsdjjfgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasajaaaaaasdhgfkasdygflasdgflagsdljfhgasljdhgfahsgdflhasgdlfjagsdljfgasdflahsdgflashgdfljasgdfljhasgdfljaaaaaaaaaasgaadaaaaaa http://ipB/test.php

-d 后面的内容只要是超过了1024位就会报错

google了一下
http://squid-web-proxy-cache.1019090.n4.nabble.com/CONNECT-errors-with-2-7-STABLE2-2-td1030787.html

curl送了Squid看不懂的HTTP/1.1 Header,Squid沒收到他要的header (200 OK 或 404 Not Found 之类),所以就回了417 Expectation Failed

在squid.conf加了
ignore_expect_100 on

This option makes Squid ignore any Expect: 100-continue header present in the request. RFC 2616 requires that Squid being unable to satisfy the response expectation MUST return a 417 error.
Note: Enabling this is a HTTP protocol violation, but some clients may not handle it well..

重启squid后就ok了


重新注释掉

#ignore_expect_100 on

重启squid后,使用curl -0参数再测试一次,也是ok的,而使用默认参数-1就是错的,说明HTTP/1.0是可以通过的


squid版本:2.6.STABLE21。没有发现此问题

你可能感兴趣的:(tcp,Google,header,测试)