PAC-bestanden: wanneer een verzoek de proxy gebruikt of direct gaat
Lees een PAC-resultaat als een routebesluit voor een bepaalde bestemming, inclusief wat DIRECT-terugval betekent voor het waargenomen uitgaande adres.
Een IP-controlepagina kan je directe adres tonen terwijl een PAC-bestand een andere website correct via de proxy stuurt. Controleer welke tak de IP-controlepagina zelf regelt:
function FindProxyForURL(url, host) {
if (host === "example.com") {
return "PROXY 203.0.113.10:8080; DIRECT";
}
return "DIRECT";
}Dit script biedt example.com de HTTP-proxy, gevolgd door DIRECT. Elke andere host is expliciet direct, dus een IP-controle op een ander domein test nooit de proxytak. Vervang het documentatie-endpoint vóór gebruik door de bedoelde HTTP-proxy; de lijst met HTTP-proxy’s geeft kandidaten als openbare proxy’s bij het beleid passen.
Puntkomma’s scheiden routekandidaten. DIRECT staat een verbinding zonder proxy toe; bij selectie kan de bestemming de uitgang van die directe route zien. Een beleid dat proxygebruik verplicht stelt, kan niet steunen op een regel die deze terugval bewust toestaat als de proxy niet beschikbaar is.
De browser bepaalt hoe kandidaatfouten worden behandeld en kan mislukte proxy’s onthouden. Een website die een HTTP-fout teruggeeft is niet automatisch hetzelfde als een onbereikbare proxy. De eerste kandidaat in het script alleen stelt dus niet vast welke route is gebruikt.
PROXY IP:port noemt een gewone HTTP-listener. Die kan HTTPS via CONNECT vervoeren als dat ondersteund wordt; een apart endpoint is niet nodig alleen omdat de website HTTPS gebruikt. Gebruik slechts de URL-informatie die de browser geeft: HTTPS-pad en query kunnen vóór PAC-evaluatie verwijderd worden.
Beoordeel het resultaat voor de bedoelde bestemming en doe daarna een nieuw verzoek onder dezelfde regel. Onderscheid een verkeerde overeenkomst, onbereikbaar endpoint en toegestane directe terugval voordat je een oplossing kiest.