骆驼代理配置骆驼-https4

时间:2019-02-14 15:47:16

标签: https proxy apache-camel camel-http

我们必须通过https将java camel应用程序与外部系统连接。在中间,我们有一个代理,但是该代理仅接受http连接。

我已经在骆驼环境中配置了http和https代理,但这似乎无济于事。 http4s组件遇到连接关闭异常。因此,我直接在https4端点上配置了代理。此配置有效,但似乎该组件希望通过https与我们的代理进行通信,并且我收到此异常。

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

我检查了调试日志,并且可以看到此日志条目,该条目指示通过https完成与代理的连接

[DEBUG]: org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection request: [route: {tls}->https://<proxy>:<port>->https://<3rdPartySystem>:443][total kept alive: 0; route allocated: 0 of 20; total allocated: 0 of 200]

此处是骆驼组件配置

to("https4:<3rdPartySystem>/services/oauth2/token?proxyAuthHost=...&proxyAuthPort=...")

所以我的问题是:如何在Java应用程序和代理之间通过HTTP完成HTTP流量的方式配置Java中的代理。从代理到第三方系统的通信应通过https进行。

通过这种方式,“旧的” http-camel组件可与同一代理完美配合。

1 个答案:

答案 0 :(得分:0)

使用 proxyAuthScheme=http 避免 SSLException