Spring Boot默认启用SSL启动失败,如何恢复非SSL正常启动?
核心原因
Spring Boot默认不会启用SSL,出现SSL is enabled but no trust material is configured报错,说明存在外部配置(系统环境变量、JVM参数、全局Maven配置等)强制开启了SSL,覆盖了项目的默认设置。
恢复非SSL默认启动的步骤
检查并清理系统环境变量
打开Windows系统属性→高级→环境变量,查找所有包含SERVER_SSL或SPRING_前缀的环境变量,若存在SERVER_SSL_ENABLED=true这类变量,直接删除或修改为false。排查启动时的JVM参数
命令行启动时,确认启动命令没有附加-Dserver.ssl.enabled=true这类强制开启SSL的参数;IDE启动时,检查运行配置中的VM options,移除相关参数。显式在项目配置中禁用SSL
在项目的application.properties中添加以下配置,强制覆盖任何外部设置:server.ssl.enabled=false如果使用
application.yml,则添加:server: ssl: enabled: false检查Maven全局配置
打开Windows用户目录下的.m2/settings.xml(路径通常为C:\Users\[你的用户名]\.m2\settings.xml),检查<profiles>节点下是否有强制设置server.ssl.enabled=true的配置,如有则移除。排查JDK全局配置(可选)
检查JDK安装目录下jre/lib/security/java.security文件,确认没有强制启用SSL的特殊配置(此情况概率较低)。
如果以上步骤都无法解决,再执行Windows系统重置操作,这大概率能消除系统级的配置损坏问题。
内容的提问来源于stack exchange,提问作者Timothy Vogel

