0

我正在尝试使用 Camel 的 HTTP4 组件通过 HTTP 代理建立 HTTPS 连接。

我有几条路由,所以我想在组件级别而不是路由定义级别配置代理。

我在骆驼上下文中设置了以下内容:

http.proxyHost=myproxy.mydomain.com
http.proxyPort=80
http.proxyScheme=http4

我的路线的一个例子:

from("direct:start")
    .to("https4://www.verisign.com")
    .to("direct:downloadProcessor");

当我执行这条路线时,它会产生一个错误:java.lang.IllegalStateException: Scheme 'http4' not registered.

但是,如果我在每个路由定义上指定代理配置:

from("direct:start")
    .to("https4://www.verisign.com?proxyAuthHost=myproxy.mydomain.com&proxyAuthPort=80&proxyAuthScheme=http4")
    .to("direct:downloadProcessor");

它工作正常,我可以在日志中看到 CONNECT 请求DEBUG DefaultClientConnection - Sending request: CONNECT www.verisign.com:443 HTTP/1.1

这听起来有点像在测试CAMEL-4176时发现的问题,但这在 Camel 2.8.0 中被标记为已修复(我使用的是 2.10.0)。

是否有某些原因我不能在 HTTP 组件而不是每个路由上配置代理?

4

0 回答 0