java - 验证 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_user
或ssl_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 应用程序在没有证书的情况下连接到数据库。
这是预期的行为吗?
我在这里错过了什么吗?
谢谢!
解决方案
推荐阅读
- reactjs - 为什么在带有 Webpack5 的 nextjs 应用中没有应用 Ant design less 样式?
- excel - 返回基于多个输入的依赖列表
- ios - 异步代码完成后如何运行代码,Swift
- python - Python 中的 XML 选择
- kotlin - Kotlin 是否允许对测试类使用反引号名称?
- python - 有没有办法让我的代码更快地读取 excel 文件?
- version-control - 将 perforce 中未跟踪的文件夹和文件设置为可写
- node.js - MongoDB 更新数组数组中的文档字段
- arrays - 如何在 Angular mat-table 中放置不同的按钮?
- arrays - Ada 动态分配数组中的数组无法在编译时初始化