Optimisation et question proxy.pac

Optimisation et question proxy.pac - Réseaux - Systèmes & Réseaux Pro

Marsh Posté le 08-11-2012 à 16:08:03    

Bonjour,
 
mon entreprise dispose d'environ 60 sites reliés à un site centrale avec des Wans.
 
Les utilisateurs passent par un proxy sur le site centrale pour naviguer sur internet.
 
J'ai effectué un fichier proxy.pac que j'ai mis à disposition sur un http.
 
Mon premier probleme consiste à exclure des adresses locales du genre http://sharepoint/ ou http://intranet/
 
chose que je n'arrive pas a faire, tous exemple que j'ai trouvé gèrent un domaine, par exemple : http://sharepoint.monentreprise.fr
 
Aucun test d'exclusion que j'ai effectué ne fonctionne.  
Voici mon fichier :
 

Code :
  1. function FindProxyForURL(url, host)
  2. {
  3. var proxysjd = "PROXY proxy:80";
  4. if (isInNet(myIpAddress(), "10.1.0.0", "255.255.0.0" )) {return proxysjd;}
  5. if (isInNet(myIpAddress(), "10.2.0.0", "255.255.0.0" )) {return proxysjd;}
  6. if (isInNet(myIpAddress(), "10.3.0.0", "255.255.0.0" )) {return proxysjd;}
  7. if (isInNet(myIpAddress(), "10.4.0.0", "255.255.0.0" )) {return proxysjd;}
  8. if (isInNet(myIpAddress(), "10.5.0.0", "255.255.0.0" )) {return proxysjd;}
  9. if (isInNet(myIpAddress(), "10.6.0.0", "255.255.0.0" )) {return proxysjd;}
  10. if (isInNet(myIpAddress(), "10.7.0.0", "255.255.0.0" )) {return proxysjd;}
  11. if (isInNet(myIpAddress(), "10.8.0.0", "255.255.0.0" )) {return proxysjd;}
  12. if (isInNet(myIpAddress(), "10.9.0.0", "255.255.0.0" )) {return proxysjd;}
  13. if (isInNet(myIpAddress(), "10.10.0.0", "255.255.0.0" )) {return proxysjd;}
  14. if (isInNet(myIpAddress(), "10.11.0.0", "255.255.0.0" )) {return proxysjd;}
  15. if (isInNet(myIpAddress(), "10.12.0.0", "255.255.0.0" )) {return proxysjd;}
  16. if (isInNet(myIpAddress(), "10.13.0.0", "255.255.0.0" )) {return proxysjd;}
  17. if (isInNet(myIpAddress(), "10.14.0.0", "255.255.0.0" )) {return proxysjd;}
  18. if (isInNet(myIpAddress(), "10.15.0.0", "255.255.0.0" )) {return proxysjd;}
  19. if (isInNet(myIpAddress(), "10.16.0.0", "255.255.0.0" )) {return proxysjd;}
  20. if (isInNet(myIpAddress(), "10.17.0.0", "255.255.0.0" )) {return proxysjd;}
  21. if (isInNet(myIpAddress(), "10.18.0.0", "255.255.0.0" )) {return proxysjd;}
  22. if (isInNet(myIpAddress(), "10.19.0.0", "255.255.0.0" )) {return proxysjd;}
  23. if (isInNet(myIpAddress(), "10.20.0.0", "255.255.0.0" )) {return proxysjd;}
  24. if (isInNet(myIpAddress(), "10.21.0.0", "255.255.0.0" )) {return proxysjd;}
  25. if (isInNet(myIpAddress(), "10.22.0.0", "255.255.0.0" )) {return proxysjd;}
  26. if (isInNet(myIpAddress(), "10.23.0.0", "255.255.0.0" )) {return proxysjd;}
  27. if (isInNet(myIpAddress(), "10.24.0.0", "255.255.0.0" )) {return proxysjd;}
  28. if (isInNet(myIpAddress(), "10.25.0.0", "255.255.0.0" )) {return proxysjd;}
  29. if (isInNet(myIpAddress(), "10.26.0.0", "255.255.0.0" )) {return proxysjd;}
  30. if (isInNet(myIpAddress(), "10.27.0.0", "255.255.0.0" )) {return proxysjd;}
  31. if (isInNet(myIpAddress(), "10.28.0.0", "255.255.0.0" )) {return proxysjd;}
  32. if (isInNet(myIpAddress(), "10.29.0.0", "255.255.0.0" )) {return proxysjd;}
  33. if (isInNet(myIpAddress(), "10.30.0.0", "255.255.0.0" )) {return proxysjd;}
  34. if (isInNet(myIpAddress(), "10.31.0.0", "255.255.0.0" )) {return proxysjd;}
  35. if (isInNet(myIpAddress(), "10.32.0.0", "255.255.0.0" )) {return proxysjd;}
  36. if (isInNet(myIpAddress(), "10.33.0.0", "255.255.0.0" )) {return proxysjd;}
  37. if (isInNet(myIpAddress(), "10.34.0.0", "255.255.0.0" )) {return proxysjd;}
  38. if (isInNet(myIpAddress(), "10.35.0.0", "255.255.0.0" )) {return proxysjd;}
  39. if (isInNet(myIpAddress(), "10.36.0.0", "255.255.0.0" )) {return proxysjd;}
  40. if (isInNet(myIpAddress(), "10.37.0.0", "255.255.0.0" )) {return proxysjd;}
  41. if (isInNet(myIpAddress(), "10.38.0.0", "255.255.0.0" )) {return proxysjd;}
  42. if (isInNet(myIpAddress(), "10.39.0.0", "255.255.0.0" )) {return proxysjd;}
  43. if (isInNet(myIpAddress(), "10.40.0.0", "255.255.0.0" )) {return proxysjd;}
  44. if (isInNet(myIpAddress(), "10.41.0.0", "255.255.0.0" )) {return proxysjd;}
  45. if (isInNet(myIpAddress(), "10.42.0.0", "255.255.0.0" )) {return proxysjd;}
  46. if (isInNet(myIpAddress(), "10.43.0.0", "255.255.0.0" )) {return proxysjd;}
  47. if (isInNet(myIpAddress(), "10.44.0.0", "255.255.0.0" )) {return proxysjd;}
  48. if (isInNet(myIpAddress(), "10.45.0.0", "255.255.0.0" )) {return proxysjd;}
  49. if (isInNet(myIpAddress(), "10.46.0.0", "255.255.0.0" )) {return proxysjd;}
  50. if (isInNet(myIpAddress(), "10.47.0.0", "255.255.0.0" )) {return proxysjd;}
  51. if (isInNet(myIpAddress(), "10.48.0.0", "255.255.0.0" )) {return proxysjd;}
  52. if (isInNet(myIpAddress(), "10.49.0.0", "255.255.0.0" )) {return proxysjd;}
  53. if (isInNet(myIpAddress(), "10.50.0.0", "255.255.0.0" )) {return proxysjd;}
  54. if (isInNet(myIpAddress(), "10.51.0.0", "255.255.0.0" )) {return proxysjd;}
  55. if (isInNet(myIpAddress(), "10.52.0.0", "255.255.0.0" )) {return proxysjd;}
  56. if (isInNet(myIpAddress(), "10.53.0.0", "255.255.0.0" )) {return proxysjd;}
  57. if (isInNet(myIpAddress(), "10.54.0.0", "255.255.0.0" )) {return proxysjd;}
  58. if (isInNet(myIpAddress(), "10.55.0.0", "255.255.0.0" )) {return proxysjd;}
  59. if (isInNet(myIpAddress(), "10.56.0.0", "255.255.0.0" )) {return proxysjd;}
  60. if (isInNet(myIpAddress(), "10.57.0.0", "255.255.0.0" )) {return proxysjd;}
  61. if (isInNet(myIpAddress(), "10.58.0.0", "255.255.0.0" )) {return proxysjd;}
  62. if (isInNet(myIpAddress(), "10.59.0.0", "255.255.0.0" )) {return proxysjd;}
  63. if (isInNet(myIpAddress(), "10.60.0.0", "255.255.0.0" )) {return proxysjd;}
  64. if ((host == "sharepoint" ) || (host == "sharepoint.monentreprise.fr")) { return "DIRECT";}
  65. else
  66. return "DIRECT";
  67. }


 
Une idée ?
 
Second probleme :
Lors de l'ouverture d'internet explorer c'est hyper lent.... vraiment... si je désactive le fichier de conf ca va rapidement .... y'a t-il une parade ?
 
Troisièmement :
Est ce que je peux optimiser ce fichier ?
 
Merci de votre aide.
 

Reply

Marsh Posté le 08-11-2012 à 16:08:03   

Reply

Marsh Posté le 08-11-2012 à 16:17:35    

C'est quoi ton but global ?
 
Pour moi c'est plus :
- Si c'est une adresse simple, je vais en direct
- Sinon je passe par le proxy

Code :
  1. function FindProxyForURL(url, host)
  2. {
  3. var proxysjd = "PROXY proxy:80";
  4. if (isPlainHostName(host) // noms courts
  5.    || shExpMatch(host, "127.*" ) //localhost
  6.    || shExpMatch(host, "10.*" ) // ips locales
  7.    || shExpMatch(host, "172.16.*" )
  8.    || shExpMatch(host, "172.17.*" )
  9.    || shExpMatch(host, "172.18.*" )
  10.    || shExpMatch(host, "172.19.*" )
  11.    || shExpMatch(host, "172.20.*" )
  12.    || shExpMatch(host, "172.21.*" )
  13.    || shExpMatch(host, "172.22.*" )
  14.    || shExpMatch(host, "172.23.*" )
  15.    || shExpMatch(host, "172.24.*" )
  16.    || shExpMatch(host, "172.25.*" )
  17.    || shExpMatch(host, "172.26.*" )
  18.    || shExpMatch(host, "172.27.*" )
  19.    || shExpMatch(host, "172.28.*" )
  20.    || shExpMatch(host, "172.29.*" )
  21.    || shExpMatch(host, "172.30.*" )
  22.    || shExpMatch(host, "172.31.*" )
  23.    || shExpMatch(host, "192.168.*" )
  24. ) { return "DIRECT"; }
  25. else
  26. return proxysjd;
  27. }

Reply

Marsh Posté le 08-11-2012 à 16:38:21    

Mon but global est d'optimiser le code, comprendre pourquoi c'est lent au démarrage et surtout passer en direct lorsqu'il s'agit d'adresse tel que ceci :
http://sharepoint/ ou http://intranet/


---------------
la vie à le goût qu'on lui donne !! Vive le photo numérique et le tirage photo
Reply

Marsh Posté le 08-11-2012 à 17:02:00    

tu fais beaucoup trop d'interrogation !! à chaque fois que tu fais la fonction isinnet il fait une requête DNS du coup tu perds énormément de temps.
 
Je te conseille donc soit de faire un  
if (isInNet(myIpAddress(), "10.0.0.0", "255.192.0.0" )) {return proxysjd;} à la place de toutes tes interrogations (plus généralement tu peux mettre le 10.0.0.0 en classe A si tu n'as pas de réseau 10 ailleurs). Après chez nous c'est plus comme Je@nb, du style :  
 
if (isInNet(myIpAddress(), "10.0.0.0", "255.192.0.0" ) || isPlainHostName(host))  
return "DIRECT" ;
else return proxy;
 
 
 


---------------
site réseau télécom : http://www.telecom-reseaux.net/
Reply

Marsh Posté le 08-11-2012 à 17:55:57    

Apres tests effectivement Nono tu me simplifie grandement les choses avec if (isInNet(myIpAddress(), "10.0.0.0", "255.192.0.0" )
par contre pour le isPlainHostName(host)) ca ne fonctionne pas ... le logs du proxy me montre que j'essaye d'accéder à une adresse locale de type http://sharepoint je passe par le proxy.
 
 


---------------
la vie à le goût qu'on lui donne !! Vive le photo numérique et le tirage photo
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed