System-Proxy-Einstellungen, auf die Java, Firefox, VMware Fusion usw. nicht zugreifen können?

Ich stecke bei einem scheinbaren Problem mit der Zugänglichkeit von System-Proxy-Einstellungen durch andere Programme fest. Ich bin auf dieses Problem gestoßen, als ich versuchte (und scheiterte), von Processing generierte Java-Applets in Safari auszuführen.

Zuerst mein Setup auf einem MacBookPro8,2:

Mac-Host: OS X 10.7.2, Safari 5.1.2, Java für Mac OS X 10.7 Update 1, Chrome 16.0.912.77, Firefox 7.0.1, Processing 1.5.1, Processing 1.2.1 und Processing 2.0a4

Windows-VM: VMware Fusion 4.1.1, Windows 7 Enterprise 64-Bit, IE 9.0.4, Java 1.6.0_30 und Processing 1.5.1

Hier ist eine Liste der Probleme/Beweise und was ich getan habe, um sie zu beheben (alle Versuche sind fehlgeschlagen, sofern nicht anders angegeben).

  1. Ich kann keine Java-Applets in Safari laden. Eine Seite mit einem Applet reserviert einen Platz für die Anzeige dieses Applets, aber es wird nichts angezeigt und die Seite hängt (ich kann zum Beispiel nicht scrollen).
  2. Java für Mac OS X 10.7 Update 1 neu installiert.
  3. In Safari versucht (i) "Java aktivieren" aus- und einzuschalten; (ii) Caches über "Safari zurücksetzen..." löschen.
  4. In den Java-Einstellungen versucht (i) "Applet-Plug-in und Webstart-Anwendungen aktivieren" aus- und einzuschalten; (ii) Cache löschen über "Dateien löschen...".
  5. Beachten Sie, dass Java selbst gut zu funktionieren scheint: (i) Die Verarbeitung (die, glaube ich, das JDK verwendet) funktioniert weiterhin; (ii) die Eingabe java -versionin das Terminal ergibt die richtige Version; (iii) Java funktioniert unter Windows.
  6. Java-Applets funktionieren auch nicht in Chrome.

    ---- Nun, warum dies ein Proxy-Problem zu sein scheint ----

  7. Ich habe keine Probleme zu Hause, wo ich keinen Proxy verwende! Dies ist nur ein Problem bei der Arbeit, wo ich Proxys für HTTP, HTTPS, FTP und SOCKS mit ausgewählter automatischer Proxy-Konfiguration konfiguriert habe. Dies wurde alles im Bereich Netzwerkeinstellungen vorgenommen, und die Einstellungen werden alle in /Library/Preferences/SystemConfiguration/preferences.plist angezeigt. Sie werden im Terminal über angezeigt sudo scutil --proxy.

  8. Firefox funktioniert gut zu Hause, aber es lädt keine HTTP-Sites über Proxys bei der Arbeit (es lädt jedoch einfache Hostnamen in unserem Netzwerk). Beachten Sie, dass sowohl Chrome als auch Safari den systemweiten Proxy-Einstellungen zu gehorchen scheinen. Wenn ich die Proxy-Einstellungen von Firefox manuell festlege, lädt Firefox sowohl (i) HTTP-Adressen korrekt (über den Proxy) als auch Java-Applets korrekt.
  9. Unter Windows ist die Situation mit IE9 ähnlich wie in Nr. 8 oben. Manuelle Proxy-Einstellungen lassen alle Probleme verschwinden: Java funktioniert und Seiten werden geladen. Bitte beachten Sie, dass ich die Proxy-Einstellungen bisher nie manuell einstellen musste. Windows schien die entsprechenden Einstellungen von OS X über VMware Fusion zu ziehen.
  10. Ich habe die Java net.properties-Datei überprüft, um sicherzustellen, dass die Einstellung "java.net.useSystemProxies" mich nicht betrifft. Laut den Kommentaren in dieser Datei wird die Einstellung von OS X ignoriert, obwohl sie auf „false“ gesetzt ist. Ich habe trotzdem versucht, sie auf „true“ zu ändern, ohne Wirkung. (Habe es danach wieder auf "false" geändert.)
  11. Das ist seltsam: Ich habe gerade bemerkt, dass der Hostname im Terminal als etwas angezeigt wird, das von unserem Netzwerk festgelegt wurde, und nicht als mein Computername. Ich denke, dass dies ein neues Verhalten ist, das ungefähr zur gleichen Zeit wie das Java-Problem aufgetaucht ist.
  12. Übrigens, versucht, die Einstellungen über das Festplattendienstprogramm zu reparieren. Es wurden keine Reparaturen gemeldet.
  13. Neuen Benutzer angelegt. Das Problem war auch bei diesem Konto vorhanden.
  14. Versucht im abgesicherten Modus zu starten. Problem vorhanden.

All dies führt mich zu der Annahme, dass das Problem darauf beruht, dass Programme (Firefox, Fusion, Java) nicht auf die systemweiten Proxy-Einstellungen zugreifen können. Nochmals: Ich kann keines dieser Probleme reproduzieren, wenn ich keine Proxys verwende, und sie verschwinden in Fällen, in denen ich sie für bestimmte Anwendungen (Firefox, Windows) eindeutig angeben kann.

Wie kann ich dieses Problem beheben? Nachdem ich tonnenweise Sachen ausprobiert und nach allem gesucht habe, was mir einfällt, bin ich hier am Ende meiner Fahnenstange. Ich versuche absolut zu vermeiden, Lion neu zu installieren, aber das ist die letzte Option, die mir einfällt. Ich hoffe, dass jemand eine bessere Lösung findet. Ihre Gedanken?

Es könnte meine Erinnerung sein, die mir einen Streich spielt, aber gibt es nicht eine Funktion, die Sie in Java aufrufen können, um einen Proxy zu verwenden? Oder eine andere Möglichkeit, eine URL so zu analysieren, dass sie über Ihren Proxy geleitet wird? Es ist schon eine Weile her, dass ich in Java hinter einem Proxy programmiert habe!
Können Sie in einer anderen Anmerkung Ihre Proxy-Einstellungen erläutern? Warum verwenden Sie die einzelnen Proxys, wenn Sie die automatische Proxy-Konfiguration verwenden? Eine .pac-Datei sollte alle relevanten Informationen enthalten.
Robin – Ich konfiguriere Proxys gemäß den IT-Empfehlungen in meinem Unternehmen. Diese sind wahrscheinlich korrekt (da ich Websites ohne die angegebene PAC-Datei laden kann), aber sie sind möglicherweise redundant, da ich auch die PAC-Datei angegeben habe. In Bezug auf die Spezifikation eines Proxys in Java habe ich dies zuvor noch nicht getan und bin mir ziemlich sicher, dass es gut funktioniert hat. Ich möchte wirklich, dass Java die systemweiten Einstellungen verwendet, da ich die Einstellung nicht jedes Mal ändern möchte, wenn ich die Arbeit verlasse oder ankomme.
Ich denke, der seltsamste Teil für mich ist, dass Safari und Chrome die Proxys verwenden, Firefox, Java und VMware jedoch nicht, obwohl italic_seeming_italic so eingestellt ist, dass sie System-Proxy-Einstellungen verwendet. Die Tatsache, dass sie vorher funktionierten, aber jetzt nicht mehr funktionieren, deutet darauf hin, dass ich die Einstellungen für diese spezifischen Anwendungen nicht ändern muss, sondern dass die Programme die Einstellungen aus irgendeinem Grund nicht finden, öffnen oder anwenden können.

Antworten (1)

Ich habe das gleiche Problem. Wenn ich eine Proxy.pac-Datei verwende, können bestimmte Anwendungen die Einstellungen nicht abrufen. Darunter sind:

  • Feuerfuchs
  • Chrom
  • Java-Apps (wie Eclipse)

Einige Apps, die mit der pac-Datei funktionieren, sind:

  • Safari
  • Skypen
  • Adium
  • Evernote

Was ich jedoch festgestellt habe, ist, dass wenn ich manuell einen Proxy-Server zu den Systemeinstellungen hinzufüge, dieser von allen Anwendungen übernommen wird. Irgendetwas in der Handhabung des Pacs ist also kaputt. Vielleicht alte/neue APIs in Lion?

Ich finde die integrierten OSX-Proxy-Funktionen auf ganzer Linie fehlerhaft