java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot MySQL SSL连接

SpringBoot + MySQL 实现 SSL 连接配置

作者:油腻的老码

本文主要介绍了SpringBoot + MySQL 实现 SSL 连接配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、获取SSL证书文件

Windows用户操作步骤:

scp root@服务器IP:/etc/mysql-ssl/ca.pem D:\certs
scp root@服务器IP:/etc/mysql-ssl/server-cert.pem D:\certs
scp root@服务器IP:/etc/mysql-ssl/server-key.pem D:\certs

二、转换证书格式

操作步骤:

keytool -importcert -alias Cacert -file ca.pem -keystore mysql-truststore -storepass 你的密码
keytool -importkeystore -srckeystore mysql-truststore -destkeystore mysql-keystore -deststoretype pkcs12

注意:执行后会提示设置新密码

三、放置证书文件

将生成的这两个文件放入项目:

存放位置:项目的resources文件夹下

四、建立安全连接通道

执行命令:

ssh -N -L 63306:127.0.0.1:3306 root@服务器IP

说明:这样可以通过本地的63306端口安全访问服务器的MySQL服务。而127.0.0.1:3306 是执行docker容器时,我设置了MySQL 容器​​默认只能通过服务器本机(127.0.0.1)连接​​,如果执行容器没有限制ip地址,则可以使用公网ip。

五、配置Spring Boot

application.yml中添加配置:

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:63306/数据库名?useSSL=true&
      trustCertificateKeyStoreUrl=file:证书路径&
      trustCertificateKeyStorePassword=你的密码&
      clientCertificateKeyStoreUrl=file:证书路径&
      clientCertificateKeyStorePassword=你的密码
    username: 数据库用户名
    password: 数据库密码

关键点说明:

clientCertificateKeyStoreUrl=file:B:\xxx\src\main\resources\mysql-ssl\mysqlkeystore

这样就完成了MySQL的SSL安全连接配置!

到此这篇关于SpringBoot + MySQL 实现 SSL 连接配置的文章就介绍到这了,更多相关SpringBoot MySQL SSL连接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文