Modificări ale configurării automate a proxy-ului (PAC)
list-menuFeedback?
Schimbăm modul în care funcționează potrivirea Proxy Auto-Configuration (PAC) pentru pacmanager în software-ul RoomOS.

Convenția PAC utilizată de principalele browsere web, inclusiv motorul Web, este de a utiliza o sintaxă de expresie regulată modificată. Până acum, pacmanager a folosit expresii regulate obișnuite pentru potrivire. Schimbăm funcția ShexpMatch pentru a utiliza o potrivire similară cu browserele.

Această modificare înseamnă că RoomOS va funcționa cu aceleași potriviri de fișiere PAC ca și alți clienți web din rețea. Este posibil ca fișierele PAC scrise special pentru RoomOS să fie actualizate pentru a continua să funcționeze așa cum a fost intenționat.

Evaluarea fișierului PAC se face în două locuri separate în software-ul RoomOS:

  • Motor web pentru propriul trafic.

  • Pacmanager pentru toate celelalte trafic HTTP: HttpFeedback, provizionarea Webex, semnalizarea apelurilor și așa mai departe.

Un fișier PAC poate folosi această funcție: SHexpMatch (șir, model)

Returnează adevărat dacă șirul se potrivește cu modelul, fals altfel.

Principalele diferențe dintre cele două convenții sunt enumerate mai jos, „REGEX” însemnând expresii regulate tradiționale și „BROWSER” înseamnă convenția browserului web.

Semnul punctului, „.”

  • REGEX:. se potrivește cu un singur caracter, care poate fi repetat cu un cuantificator

  • BROWSER:. se potrivește doar cu un caracter punct literal

Steaua, „*”:

  • REGEX: * este un cuantificator zero sau mai mult după un articol, dar nu se potrivește cu nimic de unul singur

  • BROWSER: * se potrivește cu zero sau mai multe caractere

Semnul întrebării, „?” :

  • REGEX:? este un cuantificator zero sau unu după un element sau poate modifica cuantificatorul* pentru a fi non-lacom, dar nu se potrivește cu nimic de unul singur

  • BROWSER:? se potrivește cu un singur caracter

Dacă întreaga expresie trebuie să se potrivească:

  • REGEX: Fără utilizarea primelor ^ și a terminării $, PATTERN nu trebuie să se potrivească cu întregul STRING: Este suficient ca STRING să conțină un substring care se potrivește.

  • BROWSER: Solicitați întotdeauna STRING să fie asortat exact după PATTERN

Exemple

Dorim să potrivim toate numele de gazdă sub „provider.domain”, dar nu și „otherprovider.domain”, „provider.domain.tld” sau „providersdomain”:

REGEX:


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

BROWSER:


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

Vrem să potrivim „proxy1.domain”, „proxy2.domain” și așa mai departe, dar nu și „proxytest.domain”:

REGEX:


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

BROWSER:


     shExpMatch(url, "proxy?.domain") 
   

Alte resurse

Pentru mai multe detalii despre formatul de fișier PAC, consultați: https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file .

A fost util acest articol?
A fost util acest articol?