You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarkus应用通过SSL连接PostgreSQL的配置问题及正确方法

Quarkus配置PostgreSQL SSL连接问题排查与正确配置

你的配置错误点

  • 客户端证书位置错误:你把客户端证书client.pem放到了quarkus.datasource.reactive.trust-certificate-pem.certs中,这个参数仅用于指定CA证书;客户端证书需要和私钥配对,配置在quarkus.datasource.reactive.key-certificate-pem.certs中。
  • 配置参数冲突:
    • quarkus.datasource.reactive.trust-all=true与URL中的sslmode=verify-ca完全矛盾:verify-ca要求验证服务器证书的CA签名,而trust-all会跳过所有证书验证,二者只能保留一个。
    • quarkus.datasource.reactive.postgresql.ssl-mode=require与URL中的sslmode=verify-ca重复,建议统一使用其中一种配置方式,避免冲突。
  • 缺少客户端证书配置:启用key-certificate-pem时,仅指定私钥keys不够,必须同时指定对应的客户端证书certs,否则会报"Missing X.509 certificate"错误。

正确的SSL连接配置(验证CA+客户端证书)

以下是符合你的需求(仅通过配置完成连接)的正确参数,假设你的证书文件放在src/main/resources/certificates目录下:

quarkus.datasource.db-kind=postgresql
quarkus.datasource.reactive.url=postgresql://ipaddress:5432/dbname?sslmode=verify-ca
quarkus.datasource.username=username
quarkus.datasource.password=password

# SSL基础配置:使用verify-ca模式,不跳过验证
quarkus.datasource.reactive.postgresql.ssl-mode=verify-ca
quarkus.datasource.reactive.trust-all=false

# 配置CA证书(用于验证服务器证书)
quarkus.datasource.reactive.trust-certificate-pem=true
quarkus.datasource.reactive.trust-certificate-pem.certs=certificates/cacertificate.pem

# 配置客户端证书与私钥(用于服务器验证客户端身份)
quarkus.datasource.reactive.key-certificate-pem=true
quarkus.datasource.reactive.key-certificate-pem.certs=certificates/client.pem
quarkus.datasource.reactive.key-certificate-pem.keys=certificates/private_key.pem

关键配置说明

  • sslmode=verify-ca:要求客户端验证服务器证书是否由信任的CA签发,确保连接的服务器是合法的。
  • trust-certificate-pem.certs:指定信任的CA证书路径,Quarkus会用这个证书验证服务器返回的证书链。
  • key-certificate-pem.certs + key-certificate-pem.keys:配对指定客户端证书和私钥,用于服务器对客户端的身份验证(如果服务器配置了双向SSL)。
  • 证书路径:确保证书文件在Quarkus的classpath下,通常放在src/main/resources目录下,这样配置中的相对路径能被正确识别。

额外注意事项

  • 如果你的私钥是加密的(带密码),需要添加quarkus.datasource.reactive.key-certificate-pem.key-password=your-key-password配置项。
  • 若不需要客户端身份验证(仅单向SSL),可以去掉key-certificate-pem相关的所有配置,只保留CA证书和verify-ca的配置。

内容的提问来源于stack exchange,提问作者qrbmnjt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 18:20:31