我无法在wildfly 10和Mysql之间设置SSL / TLS。我一直在尝试对数据源进行以下配置:。
<datasource jta="true" jndi-name="java:/jdbc/transit" pool-name="transit" enabled="true" use-ccm="true">
<connection-url>jdbc:mysql://myInstance.rds.amazonaws.com:3306/dbname?ssl=true</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver>mysql-connector-java-5.1.40.jar_com.mysql.jdbc.Driver_5_1</driver>
<security>
<user-name>example</user-name>
<password>secret</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
<background-validation>true</background-validation>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
</validation>
</datasource>
答案 0 :(得分:0)
使用SSL的JDBC配置是特定于数据库供应商的。数据源的标记和标记提供了添加所需JDBC配置选项以启用SSL数据库连接所需的灵活性。检查数据库供应商可以将哪些字符串或属性添加到连接URL或连接属性,并可以在JBoss端的数据源配置中配置它,这可能需要在JBoss端提供信任库以在数据库服务器上提供信任。这可以通过以下方式添加:
JAVA_OPTS =“$ JAVA_OPTS -Djavax.net.ssl.trustStore = / path / to / db_cert.truststore 在域模式下,需要为将使用数据源的服务器设置系统属性javax.net.ssl.trustStore。
JBoss管理和配置指南在第13章讨论数据源配置:
答案 1 :(得分:0)
对于寻求上述步骤的具体实施的任何人,请按照以下步骤操作:
要在WildFly中设置数据源,您可以在连接URL中设置属性,如:
JDBC:MySQL的:// $ {主机名}:3306 /测试autoReconnect的=真安培; useSSL =真安培; verifyServerCertificate =真安培; trustCertificateKeyStoreUrl =文件:/// $ {pathToYourTruststore} /信任&安培; trustCertificateKeyStorePassword = $ {你的密码} &安培; clientCertificateKeyStoreUrl =文件:/// $ {pathToYourKeystore} /密钥库&安培; clientCertificateKeyStorePassword = $ {你的密码}&安培; requireSSL =真