首页 > 解决方案 > 验证 MySQL 的 --require_secure_transport=ON 是否正在使用 Spring Boot

问题描述

我必须为 Spring Boot + MySQL App 启用 SSL

我已为 MySQL 启用 SSL 并--require_secure_transport=ON在 my.cnf 中设置。


当我尝试使用

mysql -unon_ssl_user -p -h XXX.XXX.100.158

我明白了

ERROR 3159 (HY000): Connections using insecure transport are prohibited while --require_secure_transport=ON.

这是正确的,因为安全传输是强制的。


我可以使用登录到 mysql

mysql -ussl_user -p -h XXX.XXX.100.158 --ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem

这也正确。


当我使用non_ssl_userssl_user 不使用 spring boot 证书时,我可以连接到数据库。

我的 application.properties 文件包含:

-----
spring.datasource.url=jdbc:mysql://XXX.XXX.100.158:3306/ssl_db
spring.datasource.username=ssl_user
spring.datasource.password=*********
-----

我认为 mysql 不应该允许用户/springboot 应用程序在没有证书的情况下连接到数据库。


这是预期的行为吗?

我在这里错过了什么吗?

谢谢!

标签: javamysqlspringspring-bootssl

解决方案


推荐阅读