当前位置: 首页 > 知识库问答 >
问题:

Jetty HttpClient通过代理使用SSL连接

羊舌兴德
2023-03-14

我将Jetty的HttpClient设置为使用SSL连接到apache http server,它将请求作为http路由到web服务器:

HttpClient<--HTTPS->http server<--HTTP->web服务器。

此安装程序已运行了一段时间。
我现在正在尝试添加代理:
HttpClient<---HTTPS using CONNECT Method-->proxy<---HTTPS->http server<---HTTP-->web server

我正在使用以下代码来设置代理:

HttpClient.setProxy(新地址(“ProxyHost”,proxyPort));

SSL握手似乎开始正常,查看TCP转储,我可以看到我得到了'server hello‘响应。但是,握手稍后失败,http服务器日志中显示以下错误:

[Wed Jun 26 12:49:42 2013][debug]SSL_Engine_Io.c(1925):OpenSSL:I/O错误,预期在BIO#7FAEFE130D00上读取5字节[MEM:7FAEFE11F203]

由于握手失败,因此不会将HTTP请求转发到web服务器。

使用相同的设置,但使用url.openconnection()和https://stackoverflow.com/a/1512268/378060中所述的HttpsURLConnection配置替换Jetty HttpClient工作正常。

配置代理和证书后从浏览器连接也可以工作。

共有1个答案

姚新霁
2023-03-14

这个问题与这里描述的问题相同:Http://dev.eclipse.org/mhonarc/lists/jetty-users/msg01854.html。
Squid2.7不符合Http 1.1,而是HTTP1.0,因此它没有使用keep-alive头响应Jetty的Proxy-Connection:keep-alive头。然后Jetty被迫根据Http 1.0规则关闭连接。

 类似资料:
  • 问题内容: 如何使用Node.js通过SSL连接到MongoDB服务器? 我已经阅读了一些驱动程序(mongojs,mongodb- native )的源代码,并且我已经搜索了一段时间,但是似乎找不到任何合适的教程,指南或文档。 问题答案: 如评论中所建议,具有所需的一切。 我使用以下命令启动并运行: 编辑 你也可以从猫鼬做ssl :

  • 我在一个网站上工作,这是用来重置LDAP用户的密码。我无法通过SSL与服务器建立连接。我尝试了各种代码和身份验证类型。 这是服务器上用于与网站所在的LDAP连接的内容。我还用两个ssl端口测试了它。636和3269。 我在网站上使用以下代码 获取异常“LDAP服务器不可用”。我尝试了389端口和没有ssl的代码,它工作得很好。 请让我知道哪里出了问题。

  • 问题内容: 我需要将node-XMLHttpRequest应用程序部署到使用代理访问Internet的服务器上。在该服务器上的终端中,我可以并且运行正常。我认为在这种情况下可以识别环境变量。节点应用超时,因为它看不到代理。如何获取节点应用程序以使用代理? 例如,我可以使用http.globalAgent通过代理发送请求吗? 问题答案: 该派生添加了一个配置对象,该对象可以指定要使用的代理。 htt

  • 我正在尝试使用JaxWsProxyFactoryBean连接到TLS1。2通过代理使用Spring Boot和java配置的https服务。我找不到任何示例,也找不到有关如何配置的信息。我使用wsdl2java构建最终从JaxWsProxyFactoryBean返回的所有对象。任何帮助都将不胜感激。我目前拥有: 和 我目前收到一个错误: 任何帮助都将不胜感激。 谢谢,布莱恩

  • 我试图从apache反向代理后面连接到socket.io服务器。我在端口8888上运行apache。nodejs服务器运行在同一台机器的端口9096上。为了进行测试,在我的本地计算机上配置代理,如下所示: 在客户端代码中,我执行如下操作: 如何使它连接到本地主机:8888/some/path/socket.io/1?123983759 ?

  • 问题内容: 我开始按照Android所没有使用的教程进行操作,并得到以下信息: 我想这可以归结为几个问题: 我没有创建自己的信任库,但是在网上搜索教程和其他内容时,不确定如何创建信任库。有没有一种方法可以创建或修改信任库以在其中存储所需的证书?(如果有任何不同,我使用的是自签名证书) 如何使SSL握手顺利进行?现在,我得到的错误是: 老实说,我真的不明白这意味着什么。 我需要在Android设备上