问题描述
我正在从 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 (将#修改为@)