Search squid archive

Re: http CONNECT method with fwd proxy to content server on same subnet

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 17 May 2010 08:07:23 -0700 (PDT), Quin Guin <quinguin@xxxxxxxxx>
wrote:
> Amos,
> 
>   Thank you for your reply and see reply below:
> 
> Thanks,
> 
> Guin
> 

NP: your email client needs to be fixed too it seems. It's attributing
your reply to me.

> 
> ----- Original Message ----
> From: Amos Jeffries <squid3@xxxxxxxxxxxxx>
> To: squid-users@xxxxxxxxxxxxxxx
> Sent: Sat, May 15, 2010 2:14:14 AM
> Subject: Re:  http CONNECT method with fwd proxy to content
> server on same subnet
> 
> Quin Guin wrote:
>> Hi,
>> 
>> I have a new need for deploying squid in my environment and I have
>> been trying to set it up but it is not working as expected. Please
>> see me requirements below and I have tried this with both 2.7-stable9
>> and 3.1.3 on CentOS4.6 64bit.
>> 
>> I have a remote server sending a HTTP CONNECT to my server but my
>> server can't handle an HTTP CONNECT. So I wanted to use squid to
> 
> Something is badly broken there. CONNECT is not a generic HTTP request
> method. It is specifically for browser-to-proxy and proxy-to-proxy
> communication.
> You should never receive it at a web server or web app interface.
>  
> 
>  I agree this is not a good design but I didn't have a say in it but I
did
>  get stuck with getting it to work. The request are coming from
>  browser-to-proxy over 8080 and my idea is to
proxy(squid)-to-proxy(ours)
>  that doesn't handle CONNECT method. Yes I know this is far from ideal
but
>  I am just trying to have SQUID as a forward proxy receive the request
then
>  send it as a regular https request still encrypted with out the CONNECT
>  method to our "proxy".
> 
>> handle the CONNECT method and then send the https requests to my
>> local server to handle the request. I know that a transparent proxy
>> doesn't know how to handle the SSL requests because is not operating
> 
> Yes, nor does it legally handle CONNECT method. Since interception mode
> should only be handling valid web server interface methods.
> 
> I agree with that..
> 
>> as a normal proxy. So I have been using squid as a fwd proxy but it
>> keeps sending the http CONNECT method to my end server which is
>> causing issues. So I am asking for ideas on what I need to do to look
>> at do this. I have tried various iptables rules and cache_peers but
>> nothing is seeming to work I am using pretty much the default config
>> except for my local network IPs and ACL to allow the traffic.
>> 
>> I would appreciate any ideas..
> 
> Do you have access or control to configure the remote server properly?
> 
> No I do not but I really wish I did..because then I would not be doing
> this.

Okay. Being able to swing RFC 2616 section 9.3
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
about in the right direction should be of some assistance with that in the
long term.

> 
> What is your current squid.conf configuration for http_port, http_access
> and cache_peer rules?
> 
> Here is the config:
> 
> acl manager proto cache_object
> acl localhost src 127.0.0.1/32
> acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
> acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
> acl SOL src xxx.xxx.xxx.xxx/24 # novarra
> 
> 
> http_access allow manager localhost
> http_access deny manager
> http_access deny !Safe_ports
> http_access deny CONNECT !SSL_ports
> http_access allow localnet
> http_access allow CONNECT SOL
> http_access allow CONNECT localnet
> http_access allow SOL
> http_access deny all

The rules "allow CONNECT SOL" and "allow CONNECT localnet" are duplicates
of "allow localnet" and "allow SOL".
The CONNECT ones can be removed from there again.

> icp_access allow localnet
> icp_access deny all
> 
> http_port 8080
> htcp_port 0
> icp_port 0
> 
> never_direct allow all

Ah, never_direct seems to be your problem.

What you need is this I think:
  never_direct deny SOL
  never_direct allow all

> cache_peer 172.18.0.39 parent 8775 0 no-query default
> cache_peer_access 172.18.0.39 allow CONNECT

Um, 172.18.0.39 being a web server? it will need "originserver" option and
drop the CONNECT access permission. You DON'T want the CONNECT to be
relayed on as-is.

Amos

[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux