On 17/10/2013 12:39 a.m., Dick Visser wrote:
> Hi guys
>
> I'm trying to get an HTTP request to pass through but it seems Squid
> is generating a redirect.
> With curl the request works fine if I don't use our proxy:
>
> visser_at_lenin:~$ curl -vv --noproxy '*' --header 'Host:
> rest.akismet.com' --data
> 'key=aaaaaaaaaaaa&blog=https%3A%2F%2Fblog.refeds.org'
> http://66.135.58.61/1.1/verify-key
> * About to connect() to 66.135.58.61 port 80 (#0)
> * Trying 66.135.58.61... connected
> * Connected to 66.135.58.61 (66.135.58.61) port 80 (#0)
>> POST /1.1/verify-key HTTP/1.1
>> User-Agent: curl/7.19.7 (x86_64-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15
>> Accept: */*
>> Host: rest.akismet.com
>> Content-Length: 51
>> Content-Type: application/x-www-form-urlencoded
>>
> < HTTP/1.1 200 OK
> < Server: nginx
> < Date: Wed, 16 Oct 2013 11:25:29 GMT
> < Content-Type: text/plain; charset=utf-8
> < Content-Length: 7
> < Connection: close
> < X-akismet-server: 192.168.6.135
> <
> * Closing connection #0
>
>
> When sent through Squid, the same request gives a redirect (301):
>
> * About to connect() to proxy proxy6.terena.org port 80 (#0)
> * Trying 2001:610:148:dead::20... connected
> * Connected to proxy6.terena.org (2001:610:148:dead::20) port 80 (#0)
>> POST http://66.135.58.61/1.1/verify-key HTTP/1.1
>> User-Agent: curl/7.19.7 (x86_64-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15
>> Accept: */*
>> Proxy-Connection: Keep-Alive
>> Host: rest.akismet.com
>> Content-Length: 51
>> Content-Type: application/x-www-form-urlencoded
In HTTP the client->proxy and client->server HTP syntax is very
different. In this case the Host: header is the important part.
Host: header is not relevant on cleint->proxy traffic since the URL
contains the desired server hostname.
The request leaving the proxy will look something like this:
POST /1.1/verify-key HTTP/1.0
Host: 66.135.58.61
User-Agent: curl/7.19.7 (x86_64-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15
Accept: */*
Connection: keep-alive
Content-Length: 51
Content-Type: application/x-www-form-urlencoded
... followed by some HTTP header mandatory for the proxy add and some additional debug ones Squid adds.
Now. The server identifies the raw-IP access attempt and redirects the
client to try again with the host name "akismet.com".
Amos
Received on Wed Oct 16 2013 - 12:34:09 MDT
This archive was generated by hypermail 2.2.0 : Wed Oct 16 2013 - 12:00:05 MDT