Re: Squid, Netscape Parent and proxy.pac

From: T. Esting <t_esting@dont-contact.us>
Date: Thu, 15 Apr 1999 13:26:19 PDT

On Thu, 15 Apr 1999 21:41:15 +0200, sbevans@ra.rockwell.com wrote:

> We have just setup a squid server with our Cisco router pointing all port
80 and
> 8080 to squid. Squid redirects these requests to a Netscape proxy server
on port
> 8080. Everything works fine and we are very impressed with the Squid
software.
> But, our users have have a AutoProxy setting (in netscape clients)
pointing to
> the Netscape proxy server (visitor from other countries may point to a
different
> server) on port 8080, and every time they start the netscape client they
get the
> error -
>
> the automatic configuration file is not of the correct type:
> http://proxy.domain.com:8080
> Expected MIME type of application/x-javascript-config or
> application/x-ns-proxy-autoconfig.
> Use the configuration from the previos session instead?
> Then you have to click Cancel or OK.
>
> It does not matter if they click Cancel or OK as the requests are
redirected via
> the Cisco to Squid.
>
> We dont want to change the netscape clients as it does not help for
traveling
> users (and there's 2500 of them ), is there a mime.types file for Squid
that
> need to be configured or is there some thing else to configure to stop
this
> error ?
>
> Regards
>
> Simon
>
>

  You have found yourself in a chicken/egg scenario. One big reason that
the automatic proxy configuration feature was developed was for networks
that do not have transparent proxying (which you have set up for ports 80
and 8080 from the sounds of it). Thus, the first thing a browser does when
it starts up (if Auto Proxy Config is defined) is download the file that
tells it where the proxy servers are (this is the file to which the Auto
Proxy URL is pointing). That is a special javascript file (MIME type
restriction) that defines which proxies to access for which requests (for
instance, if you have a private LAN connection to a business partner, use
proxy A for their web servers, use proxy B for Internet servers, and connect
directly to servers on your own private network). What's happening is that
your traveling users' Netscape browsers are going out and looking for
http://proxy.domain.com:8080 and expecting to get back (for example)

Content-type: application/x-ns-proxy-autoconfig

function FindProxyforURL(url, host) {
      if (isPlainHostName(host) || dnsDomainIs(host, ".mydomain.com"))
            return "DIRECT";
        else if (shExpMatch(host, "*.com"))
            return "PROXY proxy1.mydomain.com:8080; " +
                   "PROXY proxy4.mydomain.com:8080";
        else if (shExpMatch(host, "*.edu"))
            return "PROXY proxy2.mydomain.com:8080; " +
                   "PROXY proxy4.mydomain.com:8080";
        else
            return "PROXY proxy3.mydomain.com:8080; " +
                   "PROXY proxy4.mydomain.com:8080";
    }

Their request is sent out on the LAN and is routed eventually to your Cisco,
which forwards it right over to squid. You will need to figure out either
a) how to make it so those users' requests for http://proxy.domain.com:8080
get routed to your Netscape Proxy Server before they get to your squid.
Alternatively, make it so that your squid knows how to retrieve
http://proxy.domain.com:8080 on behalf of your traveling users. It's a
kludge, but it should work. Other (potentially more elegant) solutions may
require DNS retooling and/or getting the users to modify their Auto
Configuration URL.

   Hope this helps.

   Erick.

_______________________________________________________
Get your free, private email at http://mail.excite.com/
Received on Thu Apr 15 1999 - 14:17:04 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:45:51 MST