Используете Git, Gradle и Maven с сертификатом ZScaler?

Теперь мы используем ZScaler вместо прокси для проверки интернет-трафика. Это значительное улучшение, однако настроить Git, Gradle и Maven с прокси было проще, чем настроить его с помощью ZScaler. Для использования ZScaler мы получили файл.cert, который начинается с "-----BEGIN CERTIFICATE-----" и заканчивается ""-----END CERTIFICATE-----". Между этими строками есть некоторый хэш-код.

Итак, мой вопрос: как я могу настроить
а) мерзавец
б) Gradle
в) Maven
в соответствующих "глобальных настройках" (не для каждого проекта) с таким сертификатом, чтобы
а) тянет и толкает
б) / в) разрешение зависимостей
снова работает

Заранее спасибо.

2 ответа

Для Maven сначала вам необходимо определить, какая JVM используется -> получить путь к каталогу среды выполнения Java из вывода этой команды:mvn -version

Затем введите следующую команду, чтобы добавить содержимоеZscalerRootCertificate-2048-SHA256.crtфайл (содержащий-----BEGIN CERTIFICATE----- ...) в хранилище ключей JVM:

      keytool -keystore "<path-to-java-dir>/lib/security/cacerts" -storepass changeit -noprompt -trustcacerts -importcert -alias zscalerroot -file ZscalerRootCertificate-2048-SHA256.crt

Наконец, отредактируйте конфигурацию Maven, чтобы добавить конфигурацию HTTP-прокси в профиль пользователя/домашний каталог пользователя:.m2/settings.xml

      <?xml version="1.0" encoding="UTF-8"?>
<settings ...>
  ...
  <proxies>
    <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <host>gateway.zscaler.net</host>
      <port>80</port>
      <!-- Proxy exclusion list: adapt to your needs -->
      <nonProxyHosts>localhost|127.0.0.1|192.168.*</nonProxyHosts>
    </proxy>
  </proxies>
  ...
</settings>

Вы должны быть готовы идти прямо сейчас!

ПРИМЕЧАНИЕ. В зависимости от установки ZScaler на вашей рабочей станции вам, возможно, придется изменить в конфигурации Maven прокси-хост на127.0.0.1и порт прокси для9000

Для Git добавьте это в свой файл.gitconfig

[http]
proxy = http://gateway.zscaler.net:80/
sslCAInfo = /path/to/your/zscaler-root-ca.crt

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

Для Maven, Gradle и других (CURL, NPM, Yarn) идея та же, добавьте сертификат zscaler в хранилище сертификатов. Некоторые нужно будет добавить в файл пакета сертификатов. Извиняюсь за неполный ответ, я сам прорабатываю это. Wish zscaler предоставил дополнительную документацию по этому поводу.

Другие вопросы по тегам