java.net.SocketException:TCP上的连接重置

java.net.SocketException:TCP上的连接重置,java,amazon-web-services,google-cloud-platform,httpclient,google-compute-engine,Java,Amazon Web Services,Google Cloud Platform,Httpclient,Google Compute Engine,因此,最近我将我的服务(用Java编写)从AWS迁移到了GCP。我的一个服务通过HTTP(JavaHttpClient)与另一个服务(都在GCP中)交互。一个非常奇怪的行为正在发生,我随机得到java.net.SocketException:Connection reset比如:- 原因:java.net.SocketException:连接重置 在java.net.SocketInputStream.read(SocketInputStream.java:210)~[na:1.8.0_151]

因此,最近我将我的服务(用Java编写)从AWS迁移到了GCP。我的一个服务通过HTTP(JavaHttpClient)与另一个服务(都在GCP中)交互。一个非常奇怪的行为正在发生,我随机得到java.net.SocketException:Connection reset比如:-

原因:java.net.SocketException:连接重置 在java.net.SocketInputStream.read(SocketInputStream.java:210)~[na:1.8.0_151] 在java.net.SocketInputStream.read(SocketInputStream.java:141)~[na:1.8.0_151] 在sun.security.ssl.InputRecord.readFully(InputRecord.java:465)~[na:1.8.0_151] 在sun.security.ssl.InputRecord.read(InputRecord.java:503)~[na:1.8.0_151] 在sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983)~[na:1.8.0_151] 在sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:940)~[na:1.8.0_151] 在sun.security.ssl.AppInputStream.read(AppInputStream.java:105)~[na:1.8.0_151]


这件事在AWS中从未发生过,但在GCP中发生的代码是相同的。在我看来,机器配置似乎出了问题。我试过换机器,但运气不好。有人能建议这里可能有什么问题吗?

您是否创建了一个防火墙规则来接受此服务?

也许您应该检查java jdk版本?java jdk版本在GCP和AWS中是相同的。此服务部署在哪里?在GCE的一个例子中?还是应用内引擎?这两项服务现在都在GCE中运行。在他们陷入困境之前,防火墙规则已经到位。如果这是防火墙问题,每个http请求都会产生错误。但正如我在问题中提到的,java.net.SocketException对于某些请求而不是所有请求都是随机发生的,我面临着同样的问题。你能告诉我你是如何解决这个问题的吗?