繁体   English   中英

Boot-clj连接被拒绝

[英]Boot-clj connection refused

当尝试使用adzerk / boot-clj映像在Docker中运行Boot时,我收到连接被拒绝的错误。

具体来说,当容器启动时,启动启动,然后输出堆栈跟踪。 跟踪(在没有连接的计算机之间复制和粘贴不容易)实质上与下载有关-https://github.com/boot-clj/boot/releases/download/2.7.2/boot.jar-并收到“连接被拒绝”错误。

我在问并回答这个问题,希望对别人有帮助。

从哪儿开始?

我的主要问题是使用Docker + Clojure + Boot设置,特别是从容器内部运行“ boot”时。 这样做会产生堆栈跟踪。 这就是我的旅程的起点。

我正在使用adzerk / boot-clj映像。 我在本地(OSX)上使用它没有问题,我遇到的问题是在公司数据中心内使用的VM(CentOS 7)。

docker run -ti adzerk/boot-clj

发出此命令将启动容器,入口点是Boot,它开始拉下一些jar,特别是Github中的boot.jar。 生成的堆栈跟踪详细说明了几个问题,但关键是

“java.net.ConnectException: Connection refused” (connecting to Clojars.org:443)

嗯...

因此,我没有直接在容器中运行Boot,而是将容器入口点指定为“ — —-entrypoint bash ”,这样我可以进行一些操作。

因此,wget-连接被拒绝。

如果没有Docker,该怎么办。 一样。 拒绝连接。

经过与网络团队的争执之后,我发现需要在CentOS上设置“ https_proxy” env变量以将流量路由到Internet。 在这种情况下,对我来说是一个非常具体的问题。

然而…。

现在,无论是在主机上还是在adzerk / boot-clj容器内,wget都可以使用。 开机却不是。

为了进一步简化操作,我完全不考虑Docker,而是在本地使用boot。

安装了java-1.8.0-openjdk.x86_64,安装了Boot。 同样的问题。

所以挖了一下,发现了-https://github.com/boot-clj/boot-bin/issues/2

这是一个开始。 它提到设置BOOT_JVM_OPTIONS,特别是https.proxyHost和https.proxyPort。

还是没用... Arrrg。

好的,让我们摆脱引导问题。

我用Java写了一个测试工具,非常简单,它连接到https://clojars.org并尝试读取索引页。 从https://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html复制,并设置JVM_OPTS。

它仍然失败。 “拒绝连接”

…。 奇怪的胡子。

我终于迷迷糊糊了-https://stackoverflow.com/questions/43695299/java-httpurlconnection-works-on-windows-and-fails-on-linux-特别是来自Stephen C的答案

“ Java不一定必须遵守系统的默认代理设置。 由于您可以在Linux计算机上“卷曲” URL,因此最可能的解释是Java没有使用您配置的代理。 以下链接说明了配置Java代理的各种方法:”

因此,采用第一个链接-https://stackoverflow.com/questions/120797/how-do-i-set-the-proxy-to-by-the-jvm-以及Leonel的回答

我发布了“ java -Dhttps.proxyHost=xxx -Dhttps.proxyPort=80 HelloWorld

我收到一个错误,但又有一个错误。 这是进步。 “无法通过代理隧道”

一个快速的Google引导我来到这里:http://www.oracle.com/technetwork/java/javase/8u111-relnotes-3124969.html-“禁用HTTPS隧道的基本身份验证”

因此更新为“ java -Dhttps.proxyHost=xxx -Dhttps.proxyPort=80 -Djdk.http.auth.tunneling.disabledSchemes=“” HelloWorld

利润。

信息:

java -v 
openjdk version 1.8.0_144
Openjdk Runtime Environment (build 1.8.0_144-b01)
OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)

对不起,我所有的亵渎引导。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM