Zweifel am Einsatz von Wpad

400
ajcg

Ich habe einen Server (in Ubuntu) gemountet und werde Wpad zur automatischen Konfiguration des Proxy auf den Computern bereitstellen. Ich habe das folgende Verfahren durchgeführt:

Ich habe 3 Dateien erstellt, weil ich irgendwo gelesen habe, dass IE nur mit .dat (modernen Versionen) und .da (alten Versionen) und Chrome (usw.) mit .pac funktioniert:

proxy.pac wpad.da wpad.dat 

Mit dem gleichen Inhalt ...

function FindProxyForURL(url, host) {  // If the requested website is hosted within the internal network, send direct. if (isPlainHostName(host) || shExpMatch(host, "*.local") || isInNet(dnsResolve(host), "192.168.0.0", "255.255.0.0") || isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0")) return "DIRECT";  return "PROXY 192.168.0.1:3128";  } 

Um sie in Apache zu veröffentlichen und mit Option 252 von dhcp preiszugeben, gehen alle meine Computer zu meinem Squid-Proxy

Ich habe zwei Fragen:

  1. Brauche ich wirklich die 3 Dateien?

  2. Ist der Inhalt der Dateien korrekt?

Vielen Dank

0

1 Antwort auf die Frage

1
Gytis
  1. Sie sollten mit einer .datDatei davonkommen können . Sowohl Chrom als auch Firefox können damit arbeiten. Für Chrome gibt es ein eingebautes, praktisches Tool, das Ihnen mitteilt, welche Pac-Datei verwendet wird. Verwenden Sie einfach diese URL : // net-internals / # proxy

  2. Was die Syntax angeht, denke ich, dass es dir gut gehen sollte. Funktionalität hängt wirklich von Ihren Bedürfnissen ab. isPlainHostName(host)wenn der Host in der Anfrage ‚Ebene‘ ist iecontains keine Vollbremsungen, shExpMatch(host, "*.local")wenn die Anfrage - URL endet mit ‚.local‘
    isInNet(dnsResolve(host), "192.168.0.0", "255.255.0.0")wenn Anfrage Host in einem IP - Auflösung in dem Bereich ist 192.168.0.0-192.168.255.255
    isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0")wie oben nur der Bereich 127,0 0,0-127,0,0,255.

    Wenn eine dieser Bedingungen erfüllt ist, verwendet der Browser den Proxy nicht für dieses Ziel, er wird jedoch aufgefordert, direkt zu gehen. Externe Domänen haben immer Punkte, z. B. ".com" usw. Ebenso wird .local normalerweise für interne Netzwerke verwendet. Und 192.168.0.0/127.0.0.0 sind recht normale private IP-Bereiche. Alle diese Regeln versuchen einfach zu vermeiden, den Proxy für Anrufe zu verwendenzu internen Standorten / Anwendungen. Ohne Ihre Netzwerkeinstellungen oder den Grund für die Verwendung eines Proxys zu kennen, kann ich nicht wirklich viele Empfehlungen in Bezug auf die Konfiguration geben. Wenn Sie einfach nur das Surfen im Internet verwalten möchten, sollten Sie dies tun.

Von jedem, den ich nehme, meinen Sie alle Kunden? Ich denke, das einzige, was Ihnen Probleme bereiten wird, ist Firefox, da es seine eigenen Einstellungen verwendet, um einen Proxy auszuwählen. IE und Chrome verwenden die Einstellungen für "Internetoptionen" in den Steuerfeldern. Daher übernimmt firefox die Änderungen von dhcp oder dns nicht aus PAC- oder WPAD-Dateien. Sie können zwar Gruppenrichtlinien verwenden, um die Option für die automatische Konfiguration festzulegen, aber es gibt noch einige manuelle Arbeit. Wenn Sie alle Ziele (lokal + extern) meinen `Funktion FindProxyForURL (url, host) ` sollte ausreichen Gytis vor 5 Jahren 0
Sie haben die erste Frage richtig beantwortet. Ich brauche die 3 Dateien nicht. In Bezug auf die Antwort auf die zweite Frage haben die beiden von Ihnen vorgeschlagenen Konfigurationen leider nicht funktioniert (nur meine funktioniert korrekt). Bitte überprüfen Sie die vorgeschlagenen Einstellungen erneut, um zu überprüfen, ob ein Fehler vorliegt, und um Ihre Antwort als richtig auswählen zu können. ajcg vor 5 Jahren 0
Wenn Sie sagen, dass sie korrekt gearbeitet haben, meinen Sie, dass die von mir bereitgestellten Konfigurationen nicht wie erwartet funktionieren oder überhaupt funktionieren? Ich kann nicht wirklich sehen, was mit beiden nicht in Ordnung ist, aber wenn Ihre Werke funktionieren würden, würde ich mitmachen. Ich habe beide Syntaxen mit [link] (https://proxyforurl.thorsen.pm/) überprüft und meine erste Antwort liefert alle die gleiche Ausgabe wie Ihre. Die zweite Konfiguration sagt einfach aus, was gerade verwendet wird, Proxy, was wahrscheinlich nicht empfohlen wird, da es stören kann, wenn Sie Anwendungen lokal ausführen. Beispielsweise würde eine Anforderung zum Testen des Webservers auf localhost (127.0.0.1) auch an den Proxy übergeben, wobei localhost auf den Proxy selbst verweist Gytis vor 5 Jahren 0
Lassen Sie uns eine Sache tun Bitte antworten Sie mir, wenn Sie der Meinung sind, dass meine Konfiguration korrekt ist, und wenn Sie denken, dass es eine schlechte Leitung gibt, sagen Sie mir, und das ist genug ajcg vor 5 Jahren 0
Es ist ziemlich standardkonfiguriert, also ist nichts wirklich falsch. Aber ich werde kurz erklären, was jede Bedingung bewirkt, und Sie können entscheiden, ob Sie das wollen. Gytis vor 5 Jahren 0
Mein interner Bereich ist nur 192.168.1.0/24 und der Proxy (localhost 127.0.0.1) ist 192.168.1.10:3128. Was ist übrig? ajcg vor 5 Jahren 0
Sie können die 192-Regel in `isInNet (dnsResolve (host)," 192.168.1.0 "," 255.255.255.0 ")` ändern. Ich bin nicht sicher, ob Sie Localhost richtig verstehen. Localhost, der in der Regel auf 127.0.0.1 aufgelöst wird, ist das, was die meisten Geräte auf sich selbst beziehen. Angenommen, ich verwende Apache, der eine statische Webseite auf meinem PC an Port 8080 bereitstellt. Wenn ich nach localhost: 8080 suche, wird der Browser auf meinem PC angezeigt. Wenn jedoch 127.0.0.1 zum Proxy geht, dann wird aus Sicht des Proxy-Servers 127.0.0.1 auf sich selbst verweisen und prüfen, was auf Port 8080 ausgeführt wird, und entweder nichts oder einen falschen Inhalt liefern. Gytis vor 5 Jahren 0