我们在WindowsServer2019虚拟机中部署了一个java web应用程序,该虚拟机使用Tomcat9.0.37,该虚拟机采用了大量防火墙,并且只能与代理一起工作。tomcat中部署的现有web应用程序使用jdbc url末尾的代理设置与snowflake连接:
jdbc:snowflake://xxxxx.eu-central-1.snowflakecomputing.com:443/?db=xxxxx&useProxy=true&proxyHost=xxx.xxx.com&proxyPort=8080
这很好用。现在,在同一个tomcat中,当我们单独部署同一应用程序的新beta版本,并使用完全相同的jdbc url和jdbc道具(通过并排比较多次验证)时,它会执行长等待并显示网关超时错误,日志如下:
30-Jun-2021 10:59:15.909 SEVERE [http-nio-8080-exec-2] net.snowflake.client.jdbc.RestRequest.execute Stop retrying since elapsed time due to network issues has reached timeout. Elapsed=84,011(ms), timeout=60,000(ms)
在新的测试版中没有关于雪花连接的代码更改。完全一样。两个应用程序中的JDBCJAR版本也完全相同。即使我们尝试使用相同的应用程序上下文名称,它仍然显示相同的内容。我们尝试了使用多个snowflake帐户,所有帐户都在旧应用程序中使用代理,而在新的测试版应用程序中没有任何帐户使用代理。
我们尝试了snowcd网络诊断工具,它可以很好地处理作为命令行参数传递的相同代理设置。snowcd with proxy=在13张支票中通过了13张
snowcd无代理=27次检查中有27次失败
接下来我们可以做什么,请建议任何其他故障排除以找到根本原因。
注意:同一个新的beta版可以很好地与雪花连接,其他所有在没有代理/防火墙的正常环境中使用它的开发人员和测试团队,包括我自己。
暂无答案!
目前还没有任何答案,快来回答吧!