2016-12-02 28 views
1

rds-combined-ca-bundle.pem cert 파일을 분석하고 가져올 수있었습니다. 각각 하나씩 키 저장소에 별도로 저장하십시오. 그런 다음 -Djavax.net.ssl.trustStore = path_to_truststore_file 및 -Djavax.net.ssl.trustStorePassword = password를 jvm 옵션에 추가했습니다. 그것은는 아래와 같이 JNDI 구성을 사용하여 하나의 응용 프로그램에 근무 : 알 수없는 지원되지 않는 기록 버전 : HikariCp를 사용하여 하나의 응용 프로그램에, 그러나javax.net.ssl.SSLException : 지원되지 않는 레코드 버전 Amazon RDS 및 HikariCp 데이터 소스 구성의 MySQL SSL 연결에서 알 수없는 -0.0 오류

<?xml version="1.0" encoding="UTF-8"?> 
 
<Context path="/contextname" unpackWAR="true" useNaming="true" swallowOutput="false"> 
 
    <Resource removeAbandoned="true" 
 
      removeAbandonedTimeout="60" 
 
      name="jdbc/data" auth="Container" 
 
      type="javax.sql.DataSource" 
 
      maxActive="200" 
 
      maxIdle="60" 
 
      maxWait="20000" 
 
      username="rootuserssl" 
 
      password="rootusersslpassword" 
 
      driverClassName="com.mysql.jdbc.Driver" 
 
      url="jdbc:mysql://myinstance.123456789012.us-east-1.rds.amazonaws.com:3306/dbname?autoReconnect=true&amp;verifyServerCertificate=true&amp;requireSSL=true&amp;useSSL=true"/> 
 
</Context>

를, 그것은 오류 (자), javax.net.ssl.SSLException를 생성 -0.0. 아래는 구성입니다. 내가 HikariCp를 사용하는 응용 프로그램에 잘못 뭐하는 거지

<?xml version="1.0" encoding="UTF-8"?> 
 
<Context path="/contextnametwo" unpackWAR="true" useNaming="true" swallowOutput="false"> 
 
    <Resource name="jdbc/data" auth="Container" 
 
     driverClassName="com.mysql.jdbc.Driver" 
 
     jdbcUrl="jdbc:mysql://myinstance.123456789012.us-east-1.rds.amazonaws.com:3306/dbname?verifyServerCertificate=true&amp;useSSL=true&amp;requireSSL=true" 
 
     factory="com.zaxxer.hikari.HikariJNDIFactory" 
 
     type="javax.sql.DataSource" 
 
     maximumPoolSize="50" 
 
     connectionTestQuery="SELECT 1" 
 
     idleTimeout="300000" 
 
     maxLifetime="600000" 
 
     dataSource.implicitCachingEnabled="true" 
 
     dataSource.cachePrepStmts="true" 
 
     dataSource.prepStmtCacheSize="250" 
 
     dataSource.prepStmtCacheSqlLimit="2048" 
 
     dataSource.useServerPrepStmts="true" 
 
     catalog="dbname" 
 
     username="rootuserssl" 
 
     password="rootusersslpassword" 
 
/> 
 
</Context>

?

답변

0

mysql 대신 mariadb 커넥터 (https://downloads.mariadb.org/connector-java/)를 사용하여이 문제를 해결했습니다. 매력처럼 일했습니다.

+0

MariaDB JDBC 드라이버가 나에게 또 다른 오류를주었습니다 :'java.net.SocketException : 소프트웨어로 인해 연결이 끊어졌습니다 : recv failed' – Adam