如何在 Spring Boot / Spring Data 中为 Amazon RDS Mysql 启用 SSL?

Posted

技术标签:

【中文标题】如何在 Spring Boot / Spring Data 中为 Amazon RDS Mysql 启用 SSL?【英文标题】:How can I enable SSL for Amazon RDS Mysql in Spring Boot / Spring Data? 【发布时间】:2016-03-15 11:31:11 【问题描述】:

目前,使用 Spring Data 的 Spring Boot 应用程序配置为使用非加密连接到 Amazon RDS 实例。我想防止窃听传输中的数据,所以我想在应用程序和数据库实例之间启用 SSL。

我的连接是使用 spring boot 中可用的库存属性设置的。

在我的 application.properties 中,我使用以下内容来设置数据库连接。

spring.datasource.catalog=MYDB
spring.datasource.url=jdbc:mysql://INSTANCEURL/$spring.datasource.catalog?verifyServerCertificate=true&useSSL=true&requireSSL=true
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=USERNAME
spring.datasource.password=PASSWORD

尽管使用了在 URL 上启用 SSL 的 URI 变量,但用于指定亚马逊提供的 PEM 文件来加密连接的配置是未知的。

理想情况下,我希望使用嵌入式解决方案来访问证书

【问题讨论】:

【参考方案1】:

经过进一步研究,嵌入安全证书是一种反模式,而是将证书安装到路径中,然后在 JVM 内部引用。

【讨论】:

那么您是如何在连接字符串中添加/引用 AWS 提供的 pem 文件的?您是否添加了任何系统属性?

以上是关于如何在 Spring Boot / Spring Data 中为 Amazon RDS Mysql 启用 SSL?的主要内容,如果未能解决你的问题,请参考以下文章

spring boot学习02如何在spring boot项目中访问jsp

Spring 如何在 Spring Boot 中设置数据源

Spring Boot . 3 -- Spring Boot Auto_configuration 是如何实现的?

如何使用 Spring-Boot 播种 Spring-Security

如何在weblogic上运行spring boot

如何在 spring-boot 中配置 Jetty(很容易?)