Как настроить Glassfish для работы через прокси-сервер? - PullRequest
3 голосов
/ 01 сентября 2011

У меня были проблемы с запуском экземпляра Glassfish v2.1.1 на моем локальном компьютере из офиса, где у нас есть прокси-сервер для исходящих соединений.Мой первоначальный обходной путь - работа на дому.

Я звоню в службу SOAP на HTTPS-сервере за пределами компании.Поскольку Glassfish не проходит через прокси-сервер компании, я получаю следующую ошибку при попытке инициализации моих клиентов SOAP:

javax.xml.ws.WebServiceException: Failed to access the WSDL at: https://www.hostname.com...

и

Caused by: java.net.UnknownHostException: www.hostname.com

У меня установлены переменные окружения проксимоя командная строка, а также настройки системного прокси-сервера работают правильно, так что я могу получить доступ к WSDL с помощью браузера.Как мне настроить Glassfish?

Ответы [ 4 ]

7 голосов
/ 02 сентября 2011

У меня было много проблем с поиском ответа на этот вопрос, так как эта тема не очень подробно описана в Интернете.В одной ссылке говорилось, как настроить HTTP-прокси, но ничего не говорилось о HTTPS, поэтому мне потребовалось время, чтобы разобраться.

Откройте консоль администратора на сервере Glassfish и выберите: Сервер приложений -> Настройки JVM -> Параметры JVM.Нажмите «Добавить опцию JVM» 4 раза и введите следующие 4 параметра

-Dhttp.proxyHost=proxyhostname
-Dhttp.proxyPort=8080
-Dhttps.proxyHost=proxyhostname
-Dhttps.proxyPort=8080

Где имя прокси-хоста и номер порта соответствуют вашим настройкам.Затем вам нужно перезапустить сервер.

Обратите внимание, что я не смог найти ни параметров для настройки прокси из файла PAC, ни прокси, для которых требуется авторизация.В этом случае вам может потребоваться установить локальный обработчик прокси-сервера аутентификации, такой как Authoxy для Mac OS X, который превращает ваш локальный хост в прокси-сервер не-auth и маскирует запрос аутентификации от центрального прокси-сервера аутентификации.

Также,эта ссылка была хороша для различных вариантов прокси для JVM: http://download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html

3 голосов
/ 01 сентября 2011

Вы должны явно установить прокси-сервер. В зависимости от версии Glassfish доступно несколько вариантов. Как правило, вы можете установить прокси, используя аргументы JVM или консоль администратора Glassfish. Вступление для GF3 доступно здесь (извините за предоставление только ссылки, но я не хочу повторять все детали здесь).

1 голос
/ 27 апреля 2016

Чтобы завершить ответ, если прокси-сервер требует имя пользователя и пароль, задайте в Glassfish следующее:

-Dhttp.proxyUser=someUserName
-Dhttp.proxyPassword=somePassword
0 голосов
/ 01 сентября 2011

Не удается разрешить хост, вы уверены, что используете имя хоста, разрешаемое интернет-DNS-сервером, или вы используете что-то, что может быть разрешено только из вашей сети, или, что еще хуже, запись хоста, локальная для вашего компьютера?
Кроме того, прокси-сервер может отказывать вам в доступе к некоторым портам, но сейчас это, вероятно, не ваша проблема. Если прокси-сервер разрешает доступ к порту 80, попробуйте запустить Glassfish на порту 80, а также при возникновении ошибок тайм-аута соединения.

...