Script d'auto config proxy client

Bonjour a tous,

J’ai le script suivant:

Function FindProxyForURL(url,host){
return “PROXY 192.168.1.4:8080; DIRECT”;
}

ce script est à la racine du site intranet "//intranet/autoconfig.pac"
mon serveur web est apache 2. apache 2 est configuré comme suit:

AddType application/x-tar .tgz
AddType application/x-ns-proxy-autoconfig .pac

Mon proxy est squid, et squidgard est installé. (même si ca change rien au probleme…)

mes clients sont des firefox 1.5, et l’autoconfig pointe sur le fichier de l’intranet.

et quand je “recharge” et que je tante d’accéder à google, ca me renvoie systématiquement sur l’intranet. quelque soit l’url d’ailleurs…

avez vous une solution ?

PS: une config manuelle du client fonctionne bien.

Voici ce que j’utilise comme script avec succès:

function FindProxyForURL(url, host)
{
  if (dnsDomainIs(host, "localhost"))
    return "DIRECT";

  if (isInNet(host, "127.0.0.1", "255.255.255.255"))
    return "DIRECT";

  if (isInNet(host, "192.168.0.0", "255.255.0.0"))
    return "DIRECT";

  if (isInNet(host, "10.0.0.0", "255.0.0.0"))
    return "DIRECT";

  if (isInNet(host, "172.16.0.0", "255.240.0.0"))
    return "DIRECT";

  return "PROXY proxy:3128";
}

(proxy est un nom dns)

Enjoy, A+

Bon, je dois avoir un probleme ailleurs, ca ne change rien, quand je configure manuellelemnt ca passe avec le proxy, quand je configure le script…pac ca me renvoie systématiquement sur l’intranet, ou une erreur d’accessibilité url.

function FindProxyForURL(url, host)
{
  if (dnsDomainIs(host, "localhost"))
    return "DIRECT";

if (dnsDomainIs(host, "bcdi"))
    return "DIRECT";

if (dnsDomainIs(host, "intranet"))
    return "DIRECT";

if (dnsDomainIs(host, "serveur-1"))
    return "DIRECT";

  if (isInNet(host, "127.0.0.1", "255.255.255.255"))
    return "DIRECT";

  if (isInNet(host, "192.168.1.0", "255.255.255.0"))
    return "DIRECT";

  return "PROXY 192.168.1.4:8080";
} 

quels sont les impératifs pour que le script soit correctement executé ?

je ne peux pas aider pour le script, mais si ton souci est de squider toutes les demandes http (y compris avec des clients qui ne savent pas recuperer une autoconfiguration), tu peux plutot rediriger le traffic passant par le port 80 de ton routeur vers le port 8080 de ton proxy. C’est incompatible avec l’autentification, mais ça evite d’avoir à configurer un à un les clients pour qu’ils aillent chercher leur config.
ça s’appelle proxy transparent:
tldp.org/HOWTO/TransparentProxy.html
sauf que je crois me souvenir qu’avec les squids recents il n’y a plus à rajouter les httpd_accel_*, et qu’il suffit juste de rediriger le flux http vers le proxy et c’est tout.