带有代理的雪花 JDBC 连接超时

时间:2021-07-01 14:59:16

标签: tomcat jdbc proxy snowflake-cloud-data-platform web-application-firewall

我们在带有 tomcat 9.0.37 的 windows server 2019 VM 中部署了一个 Java Web 应用程序,该 VM 受到严格的防火墙保护,仅适用于代理。 部署在 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 中,当我们分别部署同一应用程序的新测试版并使用完全相同的 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)

新测试版中没有关于 Snowflake 连接的代码更改。它完全一样。并且两个应用程序中的 JDBC Jar 版本也完全相同。即使我们尝试使用相同的应用程序上下文名称,它仍然显示相同的内容。我们尝试了多个雪花帐户,在旧应用程序中都使用代理,在新测试版应用程序中没有任何代理。

我们尝试了 SnowCD 网络对角线工具,它在与作为命令行参数传递的相同代理设置下运行良好。 使用代理的 Snowcd = 通过 13 个检查中的 13 个
没有代理的 Snowcd = 27 次检查中有 27 次失败

接下来我们可以做什么,请建议任何其他故障排除以找到根本原因。

注意:相同的新 Beta 版本可以与其他所有在没有代理/防火墙的正常环境中使用它的开发人员和测试团队(包括我自己)进行雪花连接。

0 个答案:

没有答案