首页 文章

Spring启动 - 错误的TCP连接处理

提问于
浏览
2

我们使用的是用Spring Boot和Java编写的REST Web应用程序 . 经过一段时间的系统使用并检查到服务器的开放端口后,似乎我们在处理连接时遇到了漏洞

Netstat -nao | grep 4567

即使没有打开浏览器并且没有主动连接到服务器,这也会返回附加的输出 . 我很乐意为此提供任何帮助,因为Spring似乎错误地处理了连接,或者它可能是我们方面的错误配置 .

  • TCP 172.17.1.80:4567 172.18.11.36:54208 TIME_WAIT 0

  • (更多此类条目到不同的内部端口)

  • TCP 172.17.1.80:4567 172.18.11.36:54209 CLOSE_WAIT 4756

  • (更多此类条目到不同的内部端口)

  • TCP 172.17.1.80:4567 172.18.11.36:54542 CLOSE_WAIT 4756

1 回答

  • 1

    问题是HttpResponse尚未关闭,为了解决这个问题我已经使用了HttpClientUtils.closeQuietly,见下文:

    HttpResponse response = null;
        try {
            response = client.execute(createHttpRequest(url, timeOut));
            StringBuilder result = new StringBuilder();
            try (BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()))) {
                String line;
                while ((line = rd.readLine()) != null) {
                    result.append(line);
                }
            }
            return result;
        } catch (org.apache.http.conn.HttpHostConnectException e) {
            throw new HostUnreachableException(e);
        } finally {
            HttpClientUtils.closeQuietly(response);
        }
    

相关问题