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

我使用Spring BootRestTemplate向公共网络IP发出json请求,但它总是在一分钟后显示断开连接和重新连接

桂丰
2023-03-14

[][20181210 09:11:58.092][DEBUG][Person-Certify-7C46CFC9D-T4H7M][http-nio-8184-exec-10][org.apache.http.wire]-->http-outgoing-15<<“流结束”[Person-Certify-7C46CFC9D-T4H7M][Person-Certify]-[][20181210 09:11:58.092][DEBUG][Person-Certify P-outgoing-15:紧密连接[个人-认证-7C46CFC9D-T4H7M][个人-认证]-[][20181210 09:12:58.092][调试][个人-认证-7C46CFC9D-T4H7M][http-nio-8184-exec-10][o.a.h.i.c.poolinghttpclientConnectionManager]-->租用连接:[ID:17][路由:{}->http://118.25.31.127:80][保持活动的总路由:1;分配的路由:1000;分配的总路由:1000中的1;分配的总路由:1000中的2]

共有1个答案

松旻
2023-03-14

看起来您的目标服务器只接受TLSV1.2连接,您必须确保您的代码只使用该协议执行连接,而您的代码似乎没有这样做。你能检查你的日志(调试模式),看看版本是什么吗?您使用的是什么spring版本?

在调试模式下握手时应该在日志中显示类似的内容...

.....SSLConnectionSocketFactory - Enabled protocols: [TLSv1]

如何配置TLSv2已经在本线程中回答了如何使用Rest模板将TLS1.2强制到Rest客户端

import javax.net.ssl.SSLContext;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;

SSLContext context = SSLContext.getInstance("TLSv1.2");
context.init(null, null, null);

CloseableHttpClient httpClient = HttpClientBuilder.create().setSSLContext(context)
    .build();
HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient);
RestTemplate restTemplate = new RestTemplate(factory);
 类似资料:
  • 问题内容: 我将Go(Golang)1.4.2和Gorilla WebSockets一起使用在nginx 1.4.6反向代理后面。打开页面大约一分钟后,我的WebSocket断开连接。在Chrome和Firefox上会发生相同的行为。 最初,我在使用WebSockets连接服务器和客户端时遇到问题。然后,我读到我需要调整我的nginx配置。这就是我所拥有的。 我的Go代码基本上是在回显客户的消息。

  • 我有一个Angular应用程序,有一个API,它连接并调用一个在服务器上建立的数据库,该数据库具有一个公共IP。 第二,你有什么想法为什么会发生这种情况吗? 谢谢。

  • 我登录到IMAP服务器: 然后我使用IMAP IDLE在邮件到达时提取邮件。由于imap服务器连接在30分钟后自动断开,我每25分钟重新连接一次imap服务器。 所有这些工作正常,直到它持续超过48小时。当我这样做时,我得到以下错误imap.logout 错误消息: imap对象: #,raw\u data=“*OK Gimap ready for requests from 54.242.66.

  • 问题内容: 我正在使用node.js和socket.io构建一个小型原型。一切运行正常,我面临的唯一问题是我的node.js连接将断开连接,并且我被迫刷新页面以重新建立连接并重新运行。 有一种方法可以在断开事件触发后立即重新建立连接? 据我所知,这是一个普遍的问题。因此,我正在寻找解决该问题的最佳实践方法:) 非常感谢,丹 问题答案: 编辑:Socket.io已内置支持现在 当我使用socket.

  • 例如,当我在同一个VPC和同一个子网中部署两个AWS EC2实例时,这两个实例是否使用公共IP通过internet连接?我已经知道,参考路由表和我当前的路由表的流量会将除私有IP之间的所有流量发送到internet网关。顺便问一下,我想知道那些“除私有IP之间的所有流量”是否包括AWS公共IP。在这种情况下,AWS是否会自动将流量路由到专有网络内部??

  • 问题内容: 我使用和创建一个实时Web应用程序。我将为用户提供对套接字连接的完全控制,例如手动断开连接和(重新)连接。 在客户端启动时,该功能可以正常运行,但是在使用之后,不会启动新连接。 问题答案: 现在可以使用socket.socket.reconnect() 相关:https : //github.com/LearnBoost/socket.io- client/issues/251