Ввиду изменения работы лицензий «1С:Предприятия 8» в нашей компании возникла необходимость произвести обновление всех лицензий при помощи утилиты Ring
Согласно официальной документации делается это при помощи команды:
ring license update
Проблема в том, что инструмент лезет напрямую в интернет и не смотрит на параметры прокси-сервера, настроенные на сервере приложений 1С. В итоге мы получаем тайм-аут соединения:
С учетом того, что Ring написан на Java логично предположить, что поможет исправление параметров прокси в настройках Java-машины, однако, по какой-то причине изменение настроек не помогает:
Если порыться к коде запускаемого инструмента (файл ring.cmd) можно обратить внимание на переменную RING_OPTS, который отвечает за дополнительные параметры запуска инструмента:
rem RING_OPTS - additional Java options
<...>
IF DEFINED RING_OPTS (
set java_opts_adds=%RING_OPTS%
echo Using RING_OPTS from environment variable: %RING_OPTS%.
)
Можно сделать вывод, что при наличии в системе переменной RING_OPTS происходит считывание ее значения и передача в качестве параметров в Ring.
Вспоминаем, что утилита написана на Java, значит, можно скормить ей в качестве параметров запуска следующие ключи:
-Dhttp.proxyHost=<адрес_прокси>
-Dhttp.proxyPort=<порт_прокси>
-Dhttps.proxyHost=<адрес_прокси>
-Dhttps.proxyPort=<порт_прокси>
При необходимости сюда же можно добавить учетную запись, через которую будет идти подключение.
Формируем строку и создаем системную переменную
Пробуем выполнить первоначальную команду и сразу видим, что утилита подтянула параметры:
Операция завершается корректно, лицензии обновляются.