Quarkus 反应式数据源 SSL 握手时出错
Error on Quarkus reactive datasource SSL handshake
我正在使用 Quarkus 1.13.3.FINAL
,但在部署我的应用程序时,我在反应式数据源运行状况检查方面遇到了问题。
我同时使用了 JDBC 和反应式数据源。它们的设置方式如下:
%devops.quarkus.datasource.jdbc.url= jdbc:postgresql://<host>:5432/<database>?sslmode=require
%devops.quarkus.datasource.reactive.url= postgresql://<host>:5432/<database>
%devops.quarkus.datasource.reactive.postgresql.ssl-mode=require
让我感到困惑的是,该异常指示反应式数据源的 SSL 握手错误,但 JDBC 工作正常。
此外,它们都在本地工作正常。
2021-05-03 16:41:04,777 INFO [io.sma.health] (vert.x-worker-thread-10) SRHCK01001: Reporting health down status: {"status":"DOWN","checks":[{"name":"Reactive PostgreSQL connections health check","status":"DOWN","data":{"<default>":"up"}},{"name":"Database connections health check","status":"UP"}]}
2021-05-03 16:41:14,572 SEVERE [io.ver.cor.net.imp.ConnectionBase] (vert.x-eventloop-thread-1) PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
2021-05-03 16:41:14,573 WARN [io.qua.rea.dat.run.ReactiveDatasourceHealthCheck] (vert.x-eventloop-thread-1) Error obtaining database connection for healthcheck of datasource '<default>': io.vertx.core.VertxException: SSL handshake failed
我读到反应式和 JDBC 数据源不能同时使用,但现在似乎不再如此了。
我需要一个反应式数据源,因为我使用 Vert.x RabbitMQ 客户端。这给了我一个被动的消费者,所以我不能再使用我的 JPA 存储库,不得不求助于被动数据源。
我是否缺少某些配置?
我遇到了同样的问题(堆栈完全相同)。在 Zulip and the official documentation 上找到了一些线索。所要做的就是在反应数据库 url:
上添加 trust-all 配置和 ssl 模式
quarkus.datasource.reactive.trust-all=true
quarkus.datasource.reactive.url=postgresql://<host>:5432/<database>?sslmode=verify-ca
我正在使用 Quarkus 1.13.3.FINAL
,但在部署我的应用程序时,我在反应式数据源运行状况检查方面遇到了问题。
我同时使用了 JDBC 和反应式数据源。它们的设置方式如下:
%devops.quarkus.datasource.jdbc.url= jdbc:postgresql://<host>:5432/<database>?sslmode=require
%devops.quarkus.datasource.reactive.url= postgresql://<host>:5432/<database>
%devops.quarkus.datasource.reactive.postgresql.ssl-mode=require
让我感到困惑的是,该异常指示反应式数据源的 SSL 握手错误,但 JDBC 工作正常。 此外,它们都在本地工作正常。
2021-05-03 16:41:04,777 INFO [io.sma.health] (vert.x-worker-thread-10) SRHCK01001: Reporting health down status: {"status":"DOWN","checks":[{"name":"Reactive PostgreSQL connections health check","status":"DOWN","data":{"<default>":"up"}},{"name":"Database connections health check","status":"UP"}]}
2021-05-03 16:41:14,572 SEVERE [io.ver.cor.net.imp.ConnectionBase] (vert.x-eventloop-thread-1) PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
2021-05-03 16:41:14,573 WARN [io.qua.rea.dat.run.ReactiveDatasourceHealthCheck] (vert.x-eventloop-thread-1) Error obtaining database connection for healthcheck of datasource '<default>': io.vertx.core.VertxException: SSL handshake failed
我读到反应式和 JDBC 数据源不能同时使用,但现在似乎不再如此了。
我需要一个反应式数据源,因为我使用 Vert.x RabbitMQ 客户端。这给了我一个被动的消费者,所以我不能再使用我的 JPA 存储库,不得不求助于被动数据源。
我是否缺少某些配置?
我遇到了同样的问题(堆栈完全相同)。在 Zulip and the official documentation 上找到了一些线索。所要做的就是在反应数据库 url:
上添加 trust-all 配置和 ssl 模式quarkus.datasource.reactive.trust-all=true
quarkus.datasource.reactive.url=postgresql://<host>:5432/<database>?sslmode=verify-ca