Problem trying to make siblings (proxies) to talk.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Problem trying to make siblings (proxies) to talk.

Pedro de Medeiros-5
Hi, squid users.

I am trying to make some proxies talk to each other, but something is
wrong with my squid.conf files and I don't know what it is. I have in
my network a "swarm" of sibling proxies and a single parent proxy.

A client browser connects to a proxy from the swarm and it asks the
others in the swarm for cache hits. If file is not served, the cache
miss is treated by the parent proxy. I then proceed by running the
following test:

1. Start squid in machine A;
2. Connect browser to squid in machine A;
2. Access a site to cache files;
3. Start squid in machine B;
4. Connect browser to squid in machine B;
5. Access the same site again in machine B

I know that squid in machine A is caching files, because store.log
tell me they are SWAPOUT'd as they arrive, but when I go through step
5, the access.log in machine B tells me that it is going directly
through the parent proxy:

1179521182.776    213 <external ip address> TCP_MISS/304 460 GET <file
URL> - FIRST_UP_PARENT/parent-proxy image/gif

Right? Why does machine B go directly to the parent proxy if machine A
has a copy of that file in the cache? The access.log in machine A
tells me that the file is missing:

1179506674.109      0 <machine B ip address> UDP_MISS/000 70 ICP_QUERY
<file URL> - NONE/- -

And here is squid.conf for the siblings:
========================================
# Listen to port 3128
http_port 3128

# Listen to ICP too.
icp_port 3130

# Parent proxy
cache_peer parent-proxy parent 80 0 no-query login=PASS

# Siblings
#
# (proxy-only is used to avoid duplication of the contents of other
# sibling proxies.)
cache_peer proxy-b sibling 3128 3130 proxy-only
cache_peer proxy-c sibling 3128 3130 proxy-only
cache_peer proxy-d sibling 3128 3130 proxy-only
# (...)

# Obligatory
acl all src 0.0.0.0/0.0.0.0

# Clients authorized to use this proxy.
acl localnet src 172.16.0.0/12 192.168.0.0/16 127.0.0.1

# Internal servers.
acl internal-servers dstdomain .internal.com.br .local.com.br

# Redundant, but this is just a test anyway.
prefer_direct off

# Access internal servers directly, but never the external servers.
always_direct allow internal-servers
never_direct allow !internal-servers

# Allow clients to use this proxy.
http_access allow all

# Allow siblings to access this proxy.
icp_access allow localnet

# Log and debug.
access_log /var/log/squid/access.log squid
debug_options ALL,1 33,2
log_icp_queries on
=========================================

So, please, what am I doing wrong? Any help is appreciated. ;)


Cheers,
Pedro.
--
Pedro de Medeiros - Ciência da Computação - Universidade de Brasília
Home Page: http://www.nonseq.net - Linux User No.: 234250
Reply | Threaded
Open this post in threaded view
|

Re: Problem trying to make siblings (proxies) to talk.

leongmzlist
I had this problem as well.  Solved by increasing icp timeout.

icp_query_timeout 7000

works for me

mike

At 02:55 PM 5/18/2007, Pedro de Medeiros wrote:

>Hi, squid users.
>
>I am trying to make some proxies talk to each other, but something is
>wrong with my squid.conf files and I don't know what it is. I have in
>my network a "swarm" of sibling proxies and a single parent proxy.
>
>A client browser connects to a proxy from the swarm and it asks the
>others in the swarm for cache hits. If file is not served, the cache
>miss is treated by the parent proxy. I then proceed by running the
>following test:
>
>1. Start squid in machine A;
>2. Connect browser to squid in machine A;
>2. Access a site to cache files;
>3. Start squid in machine B;
>4. Connect browser to squid in machine B;
>5. Access the same site again in machine B
>
>I know that squid in machine A is caching files, because store.log
>tell me they are SWAPOUT'd as they arrive, but when I go through step
>5, the access.log in machine B tells me that it is going directly
>through the parent proxy:
>
>1179521182.776    213 <external ip address> TCP_MISS/304 460 GET <file
>URL> - FIRST_UP_PARENT/parent-proxy image/gif
>
>Right? Why does machine B go directly to the parent proxy if machine A
>has a copy of that file in the cache? The access.log in machine A
>tells me that the file is missing:
>
>1179506674.109      0 <machine B ip address> UDP_MISS/000 70 ICP_QUERY
><file URL> - NONE/- -
>
>And here is squid.conf for the siblings:
>========================================
># Listen to port 3128
>http_port 3128
>
># Listen to ICP too.
>icp_port 3130
>
># Parent proxy
>cache_peer parent-proxy parent 80 0 no-query login=PASS
>
># Siblings
>#
># (proxy-only is used to avoid duplication of the contents of other
># sibling proxies.)
>cache_peer proxy-b sibling 3128 3130 proxy-only
>cache_peer proxy-c sibling 3128 3130 proxy-only
>cache_peer proxy-d sibling 3128 3130 proxy-only
># (...)
>
># Obligatory
>acl all src 0.0.0.0/0.0.0.0
>
># Clients authorized to use this proxy.
>acl localnet src 172.16.0.0/12 192.168.0.0/16 127.0.0.1
>
># Internal servers.
>acl internal-servers dstdomain .internal.com.br .local.com.br
>
># Redundant, but this is just a test anyway.
>prefer_direct off
>
># Access internal servers directly, but never the external servers.
>always_direct allow internal-servers
>never_direct allow !internal-servers
>
># Allow clients to use this proxy.
>http_access allow all
>
># Allow siblings to access this proxy.
>icp_access allow localnet
>
># Log and debug.
>access_log /var/log/squid/access.log squid
>debug_options ALL,1 33,2
>log_icp_queries on
>=========================================
>
>So, please, what am I doing wrong? Any help is appreciated. ;)
>
>
>Cheers,
>Pedro.
>--
>Pedro de Medeiros - Ciência da Computação - Universidade de Brasília
>Home Page: http://www.nonseq.net - Linux User No.: 234250

Reply | Threaded
Open this post in threaded view
|

Re: Problem trying to make siblings (proxies) to talk.

Pedro de Medeiros-5
Thanks a ton! Worked like a charm. :)

Cheers,
Pedro.


On 5/18/07, leongmzlist <[hidden email]> wrote:
> I had this problem as well.  Solved by increasing icp timeout.
>
> icp_query_timeout 7000
>
> works for me
>
> mike

--
Pedro de Medeiros - Ciência da Computação - Universidade de Brasília
Home Page: http://www.nonseq.net - Linux User No.: 234250
Reply | Threaded
Open this post in threaded view
|

Re: Problem trying to make siblings (proxies) to talk.

Matus UHLAR - fantomas
On 18.05.07 19:21, Pedro de Medeiros wrote:

> Thanks a ton! Worked like a charm. :)
>
> Cheers,
> Pedro.
>
>
> On 5/18/07, leongmzlist <[hidden email]> wrote:
> >I had this problem as well.  Solved by increasing icp timeout.
> >
> >icp_query_timeout 7000
> >
> >works for me

using cache digests should help even a bit more.

--
Matus UHLAR - fantomas, [hidden email] ; http://www.fantomas.sk/
Warning: I wish NOT to receive e-mail advertising to this address.
Varovanie: na tuto adresu chcem NEDOSTAVAT akukolvek reklamnu postu.
I don't have lysdexia. The Dog wouldn't allow that.