当前位置: 首页 > 知识库问答 >
问题:

无法从spring boot container应用程序连接到amazon RDS

夹谷英奕
2023-03-14
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_292]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_292]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_292]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_292]
        at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) ~[mysql-connector-java-8.0.22.jar!/:8.0.22]
        at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105) ~[mysql-connector-java-8.0.22.jar!/:8.0.22]
        at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151) ~[mysql-connector-java-8.0.22.jar!/:8.0.22]
        at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167) ~[mysql-connector-java-8.0.22.jar!/:8.0.22]
        at com.mysql.cj.protocol.a.NativeProtocol.negotiateSSLConnection(NativeProtocol.java:340) ~[mysql-connector-java-8.0.22.jar!/:8.0.22]
        at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:167) ~[mysql-connector-java-8.0.22.jar!/:8.0.22]
        at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1348) ~[mysql-connector-java-8.0.22.jar!/:8.0.22]
        at com.mysql.cj.NativeSession.connect(NativeSession.java:157) ~[mysql-connector-java-8.0.22.jar!/:8.0.22]
        at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:956) ~[mysql-connector-java-8.0.22.jar!/:8.0.22]
        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:826) ~[mysql-connector-java-8.0.22.jar!/:8.0.22]
        ... 165 common frames omitted
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
        at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:171) ~[na:1.8.0_292]
        at sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:98) ~[na:1.8.0_292]
        at sun.security.ssl.TransportContext.kickstart(TransportContext.java:220) ~[na:1.8.0_292]
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:428) ~[na:1.8.0_292]
        at com.mysql.cj.protocol.ExportControlled.performTlsHandshake(ExportControlled.java:317) ~[mysql-connector-java-8.0.22.jar!/:8.0.22]
        at com.mysql.cj.protocol.StandardSocketFactory.performTlsHandshake(StandardSocketFactory.java:188) ~[mysql-connector-java-8.0.22.jar!/:8.0.22]
        at com.mysql.cj.protocol.a.NativeSocketConnection.performTlsHandshake(NativeSocketConnection.java:97) ~[mysql-connector-java-8.0.22.jar!/:8.0.22]
        at com.mysql.cj.protocol.a.NativeProtocol.negotiateSSLConnection(NativeProtocol.java:331) ~[mysql-connector-java-8.0.22.jar!/:8.0.22]
        ... 170 common frames omitted

FROM openjdk:8
ARG app_name

ENV version /
ENV build /

COPY ./target/${app_name}.jar ./app.jar

CMD ["java", "-Dserver.port=80","-Dproject.version=${version}", "-Dbuild.number=${build}", "-jar", "./app.jar"]

# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto=validate
spring.jpa.properties.hibernate.show-sql=true
spring.jpa.properties.hibernate.use-sql-comments=true
spring.jpa.properties.hibernate.format-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
#MySQL DIALECT
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.tomcat.test-on-borrow=true
spring.datasource.tomcat.validation-query=SELECT 1
spring.datasource.url=jdbc:mysql://aws_rds:3306/service_db?serverTimeZone=UTC&useSSL=false
spring.datasource.username=@database.username@
spring.datasource.password=@database.password@
spring.datasource.initialization-mode=always
spring.datasource.hikari.maximum-pool-size=5
# Flyway
spring.flyway.locations=classpath:db/migration
spring.flyway.check-location=true
spring.flyway.validate-on-migrate=false
spring.flyway.out-of-order=true
spring.flyway.table=schema_version

我在码头上想念什么?

共有1个答案

赖浩荡
2023-03-14

您使用的OpenJDK:8基Docker映像很可能不支持AWS Aurora所需的TLS版本。您必须检查AWS Aurora允许哪个TLS版本,然后确保安装在Docker映像中的Java支持它。你可以看看这个答案或者这个答案。

请注意,最近,2021年4月,Java™SE开发工具包8,Update 291(JDK 8U291)更改了允许的TLS版本:

禁用TLS 1.0和1.1

 类似资料:
  • 我是Django的新手。我已经创建了一个名为,它在浏览器和邮递员应用程序中都能完美运行。 然而,当我试图从Android应用程序访问API时,它返回NULL。 当API如下所示时,android代码可以工作。 但是,当API为以下API时,它不起作用,即使以下API在同一台PC上运行的浏览器和Postman应用程序中运行良好。 我将代码附加到进行API调用的地方。 有人能帮我吗?提前感谢。

  • 尝试使用主连接字符串和用户名(数据库名)连接到cosmosdb Mongo API 原因:com.mongodb.mongotieoutexception:在等待与com.mongodb.client.internal.mongoclientdelegate$1@3C291AAD匹配的服务器时,在30000 ms后超时。群集状态的客户端视图是{type=replica_set,servers=[{

  • 我生成了一个。我的SpringMVC Maven Hibernate MySQL应用程序的war文件,该应用程序在本地主机和本地MySQL数据库上运行良好。我配置数据库的方式是通过WebAppConfig。查看应用程序的java文件。属性文件并检索适当的信息。 然后我创建了一个OpenShift帐户并部署了它。war文件。我添加了MySQL和PHPMyAdmin盒带,以便维护数据库。当我试图通过我

  • 示例代码: 客户端日志: 13/02/06 10:58:32信息zookeeper.clientcnxn:服务器192.168.113.27/192.168.113.27:2181上完成会话建立,sessionid=0x13CAE4BD91B0003,协商超时=40000

  • 我有一个 Spring 引导项目,其中我使用 spring-boot-starter-actuator 和 io.dropwizard.metrics。 它生成我可以使用 url http://myapplication/metrics 访问的指标。我将应用程序部署在 Wildfly 10 独立服务器上。 我想使用jmx读取jconsole上的指标。我将应用程序配置为使用JMXReporter发送

  • 免责声明:我知道人们通常不会这样做,我使用SQL数据库是出于成本原因,而且我对编程比较陌生。 我正在尝试从我的Android Studio应用程序向我的MariaDB数据库发送SQL脚本。我目前正在为MariaDB实现一个Java数据库连接(JDBC)驱动程序,但我不确定需要包括什么。 我去了JDBC MariaDB驱动程序的下载网站,但是有很多jar文件,我可以选择下载。你怎么知道你需要哪一个,