Spring Boot 3.4.1能否同时用server.ssl与SSLBund配置?优先级如何?
Spring Boot 3.4.1: 共存server.ssl与SSL Bundle配置的可行性及优先级
能否同时配置?
完全可以同时配置这两组参数,但默认情况下SSL Bundle的配置不会自动生效——它只是定义了一个可复用的SSL配置集合,除非你明确将Web服务器的SSL设置绑定到这个Bundle。
优先级与生效规则
根据Spring Boot官方文档核心规则(翻译如下):
SSL Bundle是Spring Boot 3.x引入的现代化SSL配置方案,支持集中管理密钥库、信任库配置,还能在多个组件间复用。
当你通过
server.ssl.bundle属性指定服务器要使用的Bundle(比如server.ssl.bundle=foobundle)时,Bundle中的配置会覆盖server.ssl中对应的传统配置项。未被Bundle覆盖的server.ssl属性(比如你的server.ssl.client-auth=want)仍会生效。如果没有配置
server.ssl.bundle,则server.ssl的传统配置会完全生效,你定义的foobundle只是一个备用配置,不会影响Web服务器的SSL运行。
针对你的具体配置:
- 当前你仅定义了
foobundle但未绑定到服务器,因此**server.ssl的所有配置会正常生效**,foobundle的配置不会对Web服务器产生任何影响。 - 若你添加
server.ssl.bundle=foobundle,则:- 服务器会使用
foobundle中的信任库配置(位置、密码、类型) - 服务器会使用
foobundle指定的key.alias=foo server.ssl中的密钥库位置、密码、类型,以及client-auth=want仍会生效(因为foobundle未定义这些密钥库相关参数)
- 服务器会使用
内容的提问来源于stack exchange,提问作者Đỗ Như Vỹ
相关产品推荐
相关产品推荐

