HTTP代理背后的Spring Cloud Data Flow服务器



2.5.3版本设置https.proxyHost、https.proxyPort和http.nonProxyHosts系统属性足以让服务器在外部进行对话。例如,它可以在DockerHub中检索docker映像的元数据。

我现在正在测试2.7.0,但这还不够。配置HTTP代理的正确方式是什么?

ContainerRegistryAutoConfiguration使用HttpClients.custom((。这是原因吗?

启用调试日志记录后的错误为

2020-12-17 10:40:42.048  WARN 1 --- [nio-8080-exec-6] ApplicationConfigurationMetadataResolver : Failed to retrieve properties for resource Docker Resource [docker:springcloudstream/file-source-kafka:2.1.2.RELEASE] because of ConnectException: Connection timed out (Connection timed out)2020-12-17 10:40:42.048  WARN 1 --- [nio-8080-exec-6] ApplicationConfigurationMetadataResolver : Failed to retrieve properties for resource Docker Resource [docker:springcloudstream/file-source-kafka:2.1.2.RELEASE] because of ConnectException: Connection timed out (Connection timed out)2020-12-17 10:40:42.048 DEBUG 1 --- [nio-8080-exec-6] ApplicationConfigurationMetadataResolver : (Details) for failed to retrieve properties for resource:Docker Resource [docker:springcloudstream/file-source-kafka:2.1.2.RELEASE]
org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://auth.docker.io/token": Connect to auth.docker.io:443 [auth.docker.io/52.72.232.213, auth.docker.io/107.23.149.57, auth.docker.io/3.218.162.19, auth.docker.io/54.236.131.166, auth.docker.io/52.4.20.24, auth.docker.io/54.85.56.253, auth.docker.io/34.195.246.183, auth.docker.io/52.20.56.50] failed: Connection timed out (Connection timed out); nested exception is org.apache.http.conn.HttpHostConnectException: Connect to auth.docker.io:443 [auth.docker.io/52.72.232.213, auth.docker.io/107.23.149.57, auth.docker.io/3.218.162.19, auth.docker.io/54.236.131.166, auth.docker.io/52.4.20.24, auth.docker.io/54.85.56.253, auth.docker.io/34.195.246.183, auth.docker.io/52.20.56.50] failed: Connection timed out (Connection timed out) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:746) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:712) at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:600) at org.springframework.cloud.dataflow.container.registry.authorization.DockerOAuth2RegistryAuthorizer.getAuthorizationHeaders(DockerOAuth2RegistryAuthorizer.java:116)
.........................
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to auth.docker.io:443 [auth.docker.io/52.72.232.213, auth.docker.io/107.23.149.57, auth.docker.io/3.218.162.19, auth.docker.io/54.236.131.166, auth.docker.io/52.4.20.24, auth.docker.io/54.85.56.253, auth.docker.io/34.195.246.183, auth.docker.io/52.20.56.50] failed: Connection timed out (Connection timed out)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:156)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
at org.springframework.http.client.HttpComponentsClientHttpRequest.executeInternal(HttpComponentsClientHttpRequest.java:87)
at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48)
at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53)
at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:109)
at org.springframework.boot.actuate.metrics.web.client.MetricsClientHttpRequestInterceptor.intercept(MetricsClientHttpRequestInterceptor.java:81)
at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:93)
at org.springframework.http.client.InterceptingClientHttpRequest.executeInternal(InterceptingClientHttpRequest.java:77)
at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48)
at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:737)
... 68 common frames omitted
Caused by: java.net.ConnectException: Connection timed out (Connection timed out)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:607)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:368)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
... 87 common frames omitted

感谢收看此节目。正如您所知,我们正在开发一个PR(spring-cloud/spring-cloud数据流#4296(,当它被合并时,如果您能在我们发布2.7.1之前在您的环境中尝试SNAPSHOT构建,那就太好了。

也可以随意参与公关变化。欢迎任何反馈!

最新更新