Сервер Micronaut и httpclient за корпоративным прокси

Я запускаю микросервис micronaut на Win 7.

Мой запрос GET выглядит так: http://localhost:8080/maps/myreq .

Контроллер использует httpclient для отправки запроса на внешний веб-сайт: image.maps.api.here.com

При работе без прокси все прошло нормально, и ответ нормальный (изображение).

Но при работе за прокси время ожидания соединения истекло. Прокси-сервер отлично работает с любыми другими приложениями или браузерами.

Как настроить сервер micronaut за прокси для правильного выполнения корневых запросов?

изменить: при отправке запроса сетевой сервер отвечает с ошибкой: невозможно подключиться к image.maps.api.here.com:xx.xx. xx.xx: xxxx, где xx.xx.xx.xx: xxxx - прокси


person 3logy    schedule 23.04.2019    source источник


Ответы (2)


Как настроить сервер micronaut за прокси для правильного выполнения корневых запросов?

Вы можете установить системные свойства https.proxyHost, https.proxyPort, http.proxyUser и http.proxyPassword. Обычно это делается в переменной среды MN_OPTS. Например, вы можете установить для MN_OPTS значение вида "-Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=3128 -Dhttp.proxyUser=test -Dhttp.proxyPassword=test".

См. https://docs.micronaut.io/1.1.0/guide/index.html#proxy для получения дополнительной информации.

Надеюсь, это поможет.

person Jeff Scott Brown    schedule 23.04.2019
comment
Спасибо. Но я работаю в Windows, и документация по переменным среды немного недоработана. То же самое, если я хочу использовать системные настройки прокси? - person 3logy; 23.04.2019
comment
Я не уверен, что еще не закончено, но если вы установите эти системные свойства в переменной среды MN_OPTS, я ожидаю, что Micronaut найдет и использует их. - person Jeff Scott Brown; 23.04.2019
comment
Как говорится в документации ... "For Windows systems the environment variable can be configured under My Computer/Advanced/Environment Variables". - person Jeff Scott Brown; 23.04.2019
comment
системные переменные с именем: MN_OPTS со значением: -Dhttps.proxyHost = xx.xx.xx.xx -Dhttps.proxyPort = xxxx не помогают и пользовательские переменные с именем: https.proxyHost со значением: xx.xx.xx.xx и другим с именем: https.proxyport со значением = xxxx ни то, ни другое. - person 3logy; 26.04.2019
comment
Кажется, они здесь работают. Если они вам не подходят, отправьте отчет об ошибке на странице github.com/micronaut. -projects / micronaut-core / issues, и мы займемся расследованием. Извините за неприятности. - person Jeff Scott Brown; 29.04.2019
comment
Все они здесь тоже работают (Windows10). Убедитесь, что вы ввели правильный адрес! в моем случае ИТ-команда сказала мне, что адрес прокси-хоста в компании - 193.120.2.1, но вам следует просто использовать IP-адрес -Dhttps.proxyHost = 193.120.2.1 - person user3426603; 11.05.2019

Я исправил проблему с настройками прокси для CLI, но также установил прокси в application.yml, как здесь: https://github.com/micronaut-projects/micronaut-core/issues/1611

person 3logy    schedule 15.05.2019