使用 2way TSL(mutual SSL)

问题描述

我正在从 spring-boot 应用程序连接到 Apigee 虚拟主机。为了路由请求,我在 spring-boot 应用程序中使用 zuul 代理

这是我的路由配置

zuul.routes.test.path=/**
zuul.routes.test.url=https://abc.xyz.apigee.net.com
zuul.routes.test.sensitiveHeaders=
zuul.routes.test.strip-prefix=false

zuul.host.maxTotalConnections=200
zuul.host.maxPerRouteConnections=200
zuul.host.connect-timeout-millis=70000
zuul.host.socket-timeout-millis=70000

这个 Apigee 虚拟机由大约。 10个路由器。

Zuul 代理应用程序和 Apigee HTTPS 之间的连接是 2 waySSL 或双向 SSL,其中 Zuul 应用程序充当客户端,Apigee 作为服务器。 为了实现 2way SSL,我覆盖了 CloseableHttpClient

在进行负载测试时,我发现 SocketTimeout 问题在 3 到 4 分钟后或事务数量达到约 10k 后。

com.netflix.zuul.exception.ZuulException: Forwarding error
        at org.springframework.cloud.netflix.zuul.filters.route.SimpleHostRoutingFilter.handleException(SimpleHostRoutingFilter.java:261)
Caused by: org.apache.http.conn.ConnectTimeoutException: Connect to abc.xyz.apigee.net.com:443 [abc.xyz.apigee.net.com/xx.xxx.xxx.xx] Failed: connect timed out
Caused by: java.net.socketTimeoutException: connect timed out

如果我在 Apigee 上禁用客户端 Auth(2waySSL),则看不到此问题。 不知道 2waySSL 在这里做什么特别,然后交换证书

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)