Firwat e PAC-Proxy an enger Gaascht-VM mat der URL vum Host feelt
Eng PAC-URL weist op e Richtlinneskript, net op e Proxy. De Gaascht muss en ofruffen, en mat sengen eegene Adressen evaluéieren an dann de Proxy erreechen, deen en auswieelt.
„Den Host benotzt dës PAC-Datei, also hunn ech déiselwecht URL an d’VM gesat“ ass e vernünftege Saz an e onvollstännege Plang. Eng PAC-URL weist op e Richtlinneskript, net op e Proxy. Bis de Gaascht dëst Skript ofruffe kann, et mat den eegene Adressen vum Gaascht evaluéiere kann an dann de Proxy erreeche kann, deen d’Skript nennt, ass d’URL just eng Zeecheketten an engem Astellungsfeld. De gréissten Deel vun der Verwirrung ronderëm Proxy-Richtlinnen a virtuelle Maschinnen entsteet doduerch, datt déi eng Linn als déi ganz Konfiguratioun behandelt gëtt.
Eng PAC-URL ass e Skript, keen Proxy
D’Datei enthält eng Funktioun, déi eng URL an en Host hëlt an eng Proxybeschreiwung oder d’Wuert DIRECT zréckgëtt. Nichts an der URL seet der Applikatioun, wouhin den Traffic soll goen; déi Entscheedung geschitt zur Lafzäit, am Skript, mat Daten, déi d’Skript vun der Plattform ufreet. En Astellungsdialog, deen eng PAC-URL akzeptéiert, akzeptéiert en Hiwäisunzeechen op eng Entscheedungsprozedur.
Dee Grondëntscheed ass de Grond, firwat d’Kopéieren vun der URL ka schéinen, wéi wann et geschafft hätt. D’Feld ass gefëllt, d’Astellung ass gespäichert, an de Feeler weist sech eréischt méi spéit, wann d’Skript net ofgeruff ka ginn oder wann et e Proxy zréckgëtt, den de Gaascht net erreeche kann.
Déi véier Schrëtt feelen all op eng aner Manéier
Am Gaascht mussen véier Dinge geschéien an all huet seng eege Feelerzeeche. De Gaascht rufft d’PAC-Datei of. D’Applikatioun evaluéiert d’Skript fir déi ugefroe URL mat lokalen Informatiounen. Dee gewielte Proxy gëtt opgeléist an erreecht. Authentifikatioun geschitt, wann de Proxy se verlaangt.
Fänkt domat un, den Ofruff ze beweisen, well ouni dee sinn alles anescht sënnlos. Eng PAC-Datei op engem private Server verlaangt e erlaabte Wee zu deem Server, ier eng Regel ka hëllefen, an eng Proxy-Wiel an engem onerrechbare Skript kann de Wee net erschafen, deen se ofruffe géif:
curl -sS -o /dev/null -w '%{http_code}\n' http://pac.corp.example/proxy.pac
getent hosts pac.corp.example
Wann déi Ufro aus dem Gaascht feelt an aus dem Host funktionéiert, ass de Problem de Wee vum Gaascht zum PAC-Server, net den Inhalt vun der Skript. Wann se eng JavaScript-Datei zréckgëtt, gitt op den zweete Schrëtt a fënnt eraus, wat d’Skript fir de Kontext vum Gaascht entscheet.
D’selwecht Skript entscheet an enger VM anescht
PAC-Funktioune kënnen den ugefroe Host a Informatiounen iwwer d’Maschinn, déi d’Evaluatioun mécht, iwwerpréifen. Eng Regel, déi op der eegener Adress vum Client opgebaut ass, zum Beispill eng, déi eng Interfaceadress oder eng Memberschaft an engem Subnetz kontrolléiert, gesäit d’Adress vum Gaascht an net déi vum physeschen Host. Hannert NAT op der Hostsäit sinn dat verschidden Adressen, an dofir kann déiselwecht Skript en anere Proxy wielen oder an der VM op DIRECT zréckfal.
Dat ass kee Feeler an der Skript. Et ass d’Skript, déi genee dat mécht, wofir se geschriwwe gouf, mat enger anerer Input, an dat erkläert de verwirrende Bericht, an deem den Host de Proxy benotzt an de Gaascht sech direkt verbënnt. Reproduzéiert d’Entscheedung, amplaz driwwer ze raisonnéieren: en PAC-Evaluator, deen eng Adress an eng URL hëlt, waär Är Distributioun en huet, léist d’Fro mat engem eenzege Kommando. Soss testt mat der Applikatioun, déi wierklech benotzt gëtt, a liest hire Proxy-Log amplaz ze roden.
Zitt net de Schluss, datt de Gaascht d’Proxy-Astellunge vum Host geierft huet well säin Traffic duerch eng Iwwersetzung op der Hostsäit geet. Netzwierkiwwersetzung leet Paketen weider; se kopéiert keng Applikatiounskonfiguratioun, an de Systemproxy ass Applikatiounskonfiguratioun.
Instrumenter, déi PAC iwwerhaapt net liesen
Kommandozeilen-Instrumenter sinn eng eegen Grenz, an hei geet vill Zäit verluer. curl féiert keng PAC-Dateien aus, wéi seng Proxy-Dokumentatioun kloer seet. Eng Proxyvariabel op d’PAC-Download-URL ze riichten mécht aus der Skript keen Proxy-Endpunkt; d’Instrument wäert probéieren, mat enger JavaScript-Datei HTTP ze schwätzen, an op eng Manéier feelen, déi wéi e Netzwierkproblem ausgesäit.
Datselwecht gëllt fir vill Pakmanager, Sproochlaufzäiten an Build-Instrumenter, déi nëmmen express Proxyvariabelen oder hir eege Konfiguratioun respektéieren. Wann den Test, deen Iech interesséiert, en CLI-Instrument ass, konfiguréiert et mat deem konkreten Proxy, deen d’PAC-Skript gewielt hätt, a notéiert, wéi Dir zu där Wiel komm sidd, sou datt déi nächst Persoun se kann widderhuelen.
Fir Desktop-Applikatiounen op Linux muss d’Systemastellung op automatesche Modus gesat an hir och eng URL ginn; eng URL, déi gespäichert gëtt, wärend de Modus nach manuell ass, mécht näischt. Kontrolléiert béides, a kontrolléiert se am Gaascht:
gsettings get org.gnome.system.proxy mode
gsettings get org.gnome.system.proxy autoconfig-url
DIRECT ass och eng Entscheedung
En PAC-Resultat DIRECT bedeit, datt d’Applikatioun den HTTP-Proxy ëmgeet, net datt se aus dem Netzwierk entkomm ass. Déi entstane Verbindung kann nach ëmmer engem Betriibssystemwee duerch en Tunnel follegen oder aus Grënn feelen, déi näischt mat Proxy-Benotzung ze dinn hunn. Ëmgedréint beschreift e Proxy-Resultat d’Ufro vun enger Applikatioun, net all Prozess am Gaascht.
Verifizéiert also an der Richtung, an där d’Ufuerderung geschriwwe gouf. Wann d’Ufuerderung ass „dës Applikatioun erreecht de internen Site“, bewise datt déi Applikatioun en erreecht, a notéiert, wéi en Proxy oder Wee en gedroen huet. Wann d’Ufuerderung ass „d’VM ass um Firmennetzwierk“, ass e Browser, deen iwwer en ausgewielte Proxy funktionéiert, e Beweis fir dee Browser an net méi.
Reparéiert d’Kette am Gaascht, amplaz den Tunnel vum Host auszeschalten oder d’Weiderleeungsrichtlinn ze lackeren, sou datt en Test duerchkënnt. D’Kette huet véier Glidder, an eng Ännerung, déi eng dovun iwwerspréngt, hält bis déi nächst Kéier, wou d’Skript aktualiséiert gëtt oder d’Adress vum Gaascht sech ännert.