Промени в автоматичната конфигурация на прокси сървъра (PAC)
list-menuОбратна връзка?
Променяме начина, по който работи съвпадението на прокси автоматичната конфигурация (PAC) за pacmanager в софтуера RooMOS.

Конвенцията на PAC, използвана от основните уеб браузъри, включително Web engine, е да се използва модифициран синтаксис на регулярния израз. Досега pacmanager е използвал обикновени регулярни изрази за съвпадението. Променяме функцията SHExpMatch, за да използваме съвпадение, което е подобно на браузърите.

Тази промяна означава, че RooMOS ще работи със същите съвпадения на PAC файлове като другите уеб клиенти в мрежата. PAC файловете, специално написани за RooMOS, може да се наложи да бъдат актуализирани, за да продължат да работят по предназначение.

Оценката на файла PAC се извършва на две отделни места в софтуера RooMOS:

  • Уеб двигател за собствен трафик.

  • Pacmanager за целия друг HTTP трафик: HttpFeedback, предоставяне на Webex, сигнализиране на повиквания и т.н.

PAC файл може да използва тази функция: SHExpMatch (низ, шаблон)

Връща вярно, ако низът съответства на шаблона, фалшиво в противен случай.

Основните разлики между двете конвенции са изброени по-долу, като „REGEX“ означава традиционни регулярни изрази и „BROWSER“ означава конвенцията за уеб браузъра.

Знакът на точката, „.“

  • REGEX:. съвпада с един символ, който може да се повтори с количествен показател

  • БРАУЗЪР:. съвпада само с буквален знак с точка

Звездата, „*“:

  • REGEX: * е количествен показател с нула или повече след елемент, но не съвпада с нищо сам по себе си

  • БРАУЗЪР: * съвпада с нула или повече символи

Въпросителният знак, „?“ :

  • РЕГЕКС:? е количествен показател нула или едно след елемент или може да модифицира количествението*, за да не е алчен, но не съвпада с нищо сам по себе си

  • БРАУЗЪР:? съвпада с един символ

Дали целият израз трябва да съвпада:

  • REGEX: Без използването на водещи ^ и последващи $, PATTERN не трябва да съответства на целия STRING: Достатъчно е STRING да съдържа подниз, който съвпада.

  • БРАУЗЪР: Винаги изисквайте STRING да бъде съчетан точно по PATTERN

Примери

Искаме да съвпадаме всички имена на хостове под „provider.domain“, но не и „otherprovider.domain“, „provider.domain.tld“ или „providersdomain“:

REGEX:


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

BROWSER:


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

Искаме да съвпадаме с „proxy1.domain“, „proxy2.domain“ и т.н., но не и „proxytest.domain“:

REGEX:


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

BROWSER:


     shExpMatch(url, "proxy?.domain") 
   

Други ресурси

За повече подробности относно PAC файловия формат вижте: https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file .

Беше ли полезна тази статия?
Беше ли полезна тази статия?