Ошибка квитирования SSL для реактивного источника данных Quarkus
я использую
%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 и вынужден был прибегнуть к реактивному источнику данных.
Есть какая-то конфигурация, которую мне не хватает?
1 ответ
Я столкнулся с той же проблемой (с точно таким же стеком). Нашел несколько подсказок по Zulip и официальной документации . Все, что потребовалось, - это добавить конфигурацию trust-all и режим ssl для URL-адреса реактивной базы данных:
quarkus.datasource.reactive.trust-all=true
quarkus.datasource.reactive.url=postgresql://<host>:5432/<database>?sslmode=verify-ca