Search squid archive

RE: Timeouts/browser hang with "autodetect proxy"

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

 



> -----Original Message-----
> From: Adrian Chadd [mailto:adrian@xxxxxxxxxxxxxxx] 
> Sent: Friday, 9 March 2007 10:35 AM
> To: Brian Riffle
> Subject: Re:  Timeouts/browser hang with 
> "autodetect proxy"
> 
> On Thu, Mar 08, 2007, Brian Riffle wrote:
> > I am having an issue with timeouts using squid with both IE and
> > Firefox when using "auto detect proxy"  When I am autodetecting the
> > proxy server, if I type in an invalid domain name (like google.comm,
> > or googlec.om, etc) it will take upwards of 20 seconds to 
> timeout, and
> 
> Two things:
> 
> Firstly, time how long it takes the configured DNS servers to resolve
> an invalid name like googlec.om; see how long it takes.
> See if its even giving a reply!
> 
> Then I'd check these rules out:
> 
> >      if (isInNet(host, "192.168.5.0",  "255.255.255.0"))    {return
> > "DIRECT";}
> >      if (isInNet(host, "192.168.42.0", "255.255.255.0"))    
>   {return
> 
> .. etc;
> 
> as this causes the browser to do a DNS lookup. I haven't looked into
> it to see whether DNS lookups are done for -each- of those isInNet()
> or whether its cached (which you'd kind of hope!)
> 
> Adrian
> 
> 
>From my experience, each isInNet() statement produces a separate DNS
lookup.
What you want to do is use isResolvable(host) before hand to
short-circuit
those steps.

For example (if you wanted unresolvable DNS lookups to be forwarded to
the
proxy, to generate a decent error page), you might use something like
this...

function FindProxyForURL(url, host)
{
  if ((isPlainHostName(host) ||
      (dnsDomainIs(host, ".example.com"))
    return "DIRECT";
  if (!isResolvable(host))
    return "PROXY proxy.example.com:3128";
  if ((isInNet(host, "192.168.0.0", "255.255.0.0") ||
      (isInNet(host, "169.254.0.0", "255.255.0.0") ||
      (isInNet(host, "10.0.0.0", "255.0.0.0"))
    return "DIRECT";

  return "PROXY proxy.example.com:3128";
}

Regards,
David.
__

David Gameau
ISTS - Systems Infrastructure
University of South Australia

email: David.Gameau@xxxxxxxxxxxx
phone: +61 8 302 3533
fax:   +61 8 302 5800

Disclaimer: "His brain sometimes stops working." - Chiyo, Azumange Daoih



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

  Powered by Linux