Modifications apportées à la configuration automatique du proxy (PAC)
list-menuUn commentaire ?
Nous sommes en train de modifier la façon dont la configuration automatique du proxy (PAC) fonctionne pour PacManager dans le logiciel RoomOS.

La convention PAC utilisée par les principaux navigateurs Web, y compris le moteur Web, consiste à utiliser une syntaxe d'expression régulière modifiée. Jusqu'à présent, pacmanager utilisait des expressions régulières ordinaires pour les correspondances. Nous sommes en train de modifier la fonction ShExpMatch pour utiliser une correspondance similaire à celle des navigateurs.

Ce changement signifie que RoomOS fonctionnera avec les mêmes fichiers PAC que les autres clients Web du réseau. Les fichiers PAC spécialement écrits pour RoomOS devront peut-être être mis à jour pour continuer à fonctionner comme prévu.

L'évaluation du fichier PAC se fait à deux endroits distincts dans le logiciel RoomOS :

  • Un moteur Web pour son propre trafic.

  • Pacmanager pour tout autre trafic HTTP : HttpFeedback, provisionnement Webex, signalisation des appels, etc.

Un fichier PAC peut utiliser cette fonction : SHExpMatch (chaîne, motif)

Elle renvoie vrai si la chaîne correspond au modèle, faux sinon.

Les principales différences entre les deux conventions sont répertoriées ci-dessous, « REGEX » désignant des expressions régulières traditionnelles et « BROWSER » désignant la convention du navigateur Web.

Le signe en point, «. »

  • REGEX :. correspond à un seul caractère, qui peut être répété à l'aide d'un quantificateur

  • NAVIGATEUR :. ne correspond qu'à un point littéral

L'étoile, « * » :

  • REGEX :* est un quantificateur nul ou plus après un élément, mais il ne correspond à rien en lui-même

  • NAVIGATEUR : * correspond à zéro caractère ou plus

Le point d'interrogation, « ? » :

  • REGEX : ? est un quantificateur zéro ou un après un objet, ou peut modifier le quantificateur * pour qu'il ne soit pas gourmand, mais ne correspond à rien en lui-même

  • NAVIGATEUR : ? correspond à un seul caractère

Si l'expression entière doit correspondre :

  • REGEX : Sans l'utilisation de ^ en début et en fin de $, le PATTERN n'a pas besoin de correspondre à la chaîne entière : il suffit que la STRING contienne une sous-chaîne qui correspond.

  • NAVIGATEUR : demandez toujours que STRING corresponde exactement à PATTERN

Exemples

Nous voulons faire correspondre tous les noms d'hôte sous « provider.domain », mais pas « otherprovider.domain », « provider.domain.tld » ou « providersdomain » :

REGEX:


     shExpMatch(url, "^.*\\.provider\\.domain$") 
   

BROWSER:


     shExpMatch(url, "*.provider.domain") 
   

Nous voulons faire correspondre « proxy1.domain », « proxy2.domain », etc., mais pas « proxytest.domain » :

REGEX:


     shExpMatch(url, "^proxy.\\.domain$") 
   

BROWSER:


     shExpMatch(url, "proxy?.domain") 
   

Autres ressources

Pour plus de détails sur le format de fichier PAC, voir : https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file .

Cet article était-il utile ?
Cet article était-il utile ?