Настройки системного прокси недоступны для Java, Firefox, VMware Fusion и т. д.?

Я застрял на том, что кажется проблемой с доступностью настроек системного прокси другими программами. Я столкнулся с этой проблемой при попытке (и безуспешно) запускать апплеты Java, сгенерированные обработкой, в Safari.

Во-первых, моя установка на MacBookPro8,2:

Хост Mac: OS X 10.7.2, Safari 5.1.2, Java для Mac OS X 10.7, обновление 1, Chrome 16.0.912.77, Firefox 7.0.1, Processing 1.5.1, Processing 1.2.1 и Processing 2.0a4

Виртуальная машина Windows: VMware Fusion 4.1.1, 64-разрядная версия Windows 7 Enterprise, IE 9.0.4, Java 1.6.0_30 и Processing 1.5.1.

Вот список проблем/доказательств и того, что я сделал, чтобы попытаться их исправить (все попытки не увенчались успехом, если не указано иное).

  1. Я не могу загрузить апплеты Java в Safari. Страница с апплетом зарезервирует место для отображения этого апплета, но ничего не отображается и страница зависает (например, я не могу прокручивать).
  2. Переустановил Java для Mac OS X 10.7, обновление 1.
  3. В Safari пробовал (i) выключать и включать «Включить Java»; (ii) очистка кешей через «Сброс Safari…».
  4. В настройках Java попытался (i) отключить и включить «Включить подключаемый модуль апплета и приложения Web Start»; (ii) очистка кеша через «Удалить файлы…».
  5. Обратите внимание, что сама Java, кажется, работает нормально: (i) обработка (я думаю, которая использует JDK) продолжает работать; (ii) ввод java -versionв Терминал дает правильную версию; (iii) Java работает в Windows.
  6. Апплеты Java также не работают в Chrome.

    ---- Теперь, почему это похоже на проблему с прокси-сервером ----

  7. У меня нет проблем дома, где я не использую прокси! Это проблема только на работе, где я настроил прокси для HTTP, HTTPS, FTP и SOCKS с выбранной автоматической конфигурацией прокси. Все это было сделано на панели настроек сети, и все настройки отображаются в /Library/Preferences/SystemConfiguration/preferences.plist. Они появляются в Терминале через sudo scutil --proxy.

  8. Firefox отлично работает дома, но не загружает какие-либо http-сайты через прокси на работе (хотя он загружает простые имена хостов в нашей сети). Обратите внимание, что Chrome и Safari подчиняются общесистемным настройкам прокси. Если я укажу настройки прокси-сервера Firefox вручную, то Firefox (i) правильно загрузит http-адреса (через прокси-сервер) и апплеты Java также загрузятся правильно.
  9. В Windows ситуация с IE9 аналогична #8 выше. Ручная настройка прокси избавляет от всех проблем: Java работает, страницы грузятся. Обратите внимание, что мне никогда раньше не приходилось задавать настройки прокси вручную. Windows, похоже, вытащила соответствующие настройки из OS X через VMware Fusion.
  10. Я проверил файл Java net.properties, чтобы убедиться, что параметр «java.net.useSystemProxies» не влияет на меня. Согласно комментариям в этом файле, даже если для этого параметра установлено значение «false», OS X будет игнорировать этот параметр. Я все равно пытался изменить его на «true», но безрезультатно. (Впоследствии изменил его на «false».)
  11. Это странно: я только что заметил, что в терминале имя хоста отображается как что-то, установленное нашей сетью, а не как имя моего компьютера. Я думаю, что это новое поведение, появившееся примерно в то же время, что и проблема с Java.
  12. Кстати, пробовал восстановить настройки через Дисковую утилиту. О ремонте не сообщалось.
  13. Создал нового пользователя. Проблема присутствовала и в этом аккаунте.
  14. Пробовал запускать в безопасном режиме. Проблема присутствует.

Итак, все вышеизложенное наводит меня на мысль, что проблема заключается в том, что программы (Firefox, Fusion, Java) не могут получить доступ к общесистемным настройкам прокси. Еще раз: я не могу воссоздать ни одну из этих проблем, когда не использую прокси, и они исчезают в тех случаях, когда я могу четко указать их для конкретных приложений (Firefox, Windows).

Как я могу решить эту проблему? Перепробовав массу вещей и обыскав все, что я могу придумать, я здесь в конце своей очереди. Я абсолютно стараюсь не переустанавливать Lion, но это последний вариант, о котором я могу думать. Я надеюсь, что кто-то придумает лучшее решение. Твои мысли?

Возможно, моя память играет со мной злую шутку, но нет ли какой-нибудь функции, которую вы можете вызвать в Java для использования прокси? Или другой способ анализа URL-адреса, чтобы он направлялся через ваш прокси? Давненько я не программировал на Java за прокси!
С другой стороны, не могли бы вы уточнить настройки прокси? Почему вы используете отдельные прокси, если используете автоматическую настройку прокси? Файл .pac должен содержать всю необходимую информацию.
Робин -- я настраиваю прокси в соответствии с рекомендациями ИТ в моей компании. Вероятно, это правильно (поскольку я могу загружать веб-сайты без указанного файла PAC), но они могут быть избыточными, поскольку я также указал файл PAC. Что касается спецификации прокси в Java, я не делал этого раньше и почти уверен, что он работает нормально. Мне бы очень хотелось, чтобы Java использовала общесистемные настройки, поскольку я не хочу менять настройки каждый раз, когда ухожу или прихожу на работу.
Думаю, самое странное для меня то, что Safari и Chrome используют прокси-серверы, а Firefox, Java и VMware — нет, несмотря на то, что italic_seeming_italic настроен на использование настроек системного прокси. Тот факт, что они работали раньше, но не работают сейчас, говорит о том, что мне не нужно менять настройки для этих конкретных приложений, а вместо этого программы не могут найти, открыть или применить настройки по какой-то причине.

Ответы (1)

У меня такая же проблема. Когда я использую файл proxy.pac, некоторые приложения не могут подобрать настройки. Среди них:

  • Fire Fox
  • Хром
  • Java-приложения (например, eclipse)

Вот некоторые приложения, которые работают с pac-файлом:

  • Сафари
  • Скайп
  • Адиум
  • Эверноут

Однако я обнаружил, что когда я вручную добавляю прокси-сервер в системные настройки, он подхватывается всеми приложениями. Значит, что-то в обработке pac сломано. Может быть, старые/новые API в Lion?

я считаю, что встроенные функции прокси-сервера OSX содержат ошибки по всем направлениям