如何在 zsacaler 代理(zscloud)后面运行 scala sbt

如何在 zsacaler 代理(zscloud)后面运行 scala sbt

我的公司最近使用了 zscaler 的新安全软件来保护互联网流量。从我的基本理解来看,它的作用是:它接管所有加密的 SSL 互联网连接,并检查其中是否存在有害传输,天知道是什么,充当“中间人”。现在,当我在浏览器中打开一个网站时,我有时会在一瞬间看到它切换到https://login.zscloud.net/...后面跟着一些神秘的数字和我最初想要的网站。

由于它运行,scala sbt 却不能运行,因为它无法再连接到任何存储库。

三天多来,我读了很多帖子,也尝试了很多方法:

  • 我在 sbtconfig.txt 中配置了 http 和 https 的代理设置

  • 我将我们代理的根证书导入到具有某些变体的 java 密钥库(jdk 或 jre 中的密钥库)。

  • 我尝试了 sbt 0.13.8 和 1.2.8 版本

sbt 的基本错误消息是:

java.net.ConnectException:无法连接到/IP-OF-MY-CORPORATE-PROXY:8080

但当我复制例如“https://repo1.maven.org/maven2/org/scala-sbt/sbt/1.2.8/sbt-1.2.8.pom“从错误输出中将其放入浏览器,它可以毫无问题地打开。

我在 Windows 7 机器上运行 scala 和 sbt,使用 Java 和 JDK 版本 1.8.0_201。

有人对这个 zscaler/proxy 和 sbt 有经验吗?

任何帮助都将不胜感激,甚至提示如何检查或调试与代理的连接。

答案1

尝试了很多方法后,我让它再次工作:

1.) 当我的公司切换到 zscaler 时,流量不再通过代理运行。浏览器是自动配置的,所以我没有直接发现。不幸的是,代理仍然处于打开状态,但不再正常工作。所以我删除了 sbtconfig.txt 中有关代理的所有条目。我仍然必须为其指定密钥库和密码

2.) 我公司的根证书不知何故损坏了,或者至少是不够的,我必须将链中的下一个证书导入密钥库,然后它才能起作用。

相关内容