当在 url 中使用 ssl=true 将 docker 中的 WSO2 apim 连接到本地机器中的 mysql 时出现错误。
apim中的数据源连接代码:
<datasource>
<name>WSO2_CARBON_DB</name>
<description>The datasource used for registry and user manager</description>
<jndiConfig>
<name>jdbc/WSO2CarbonDB</name>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:mysql://host.docker.internal:3306/carbon_db?serverTimezone=UTC&useSSL=true</url>
<username>userame</username>
<password>password</password>
<driverClassName>com.mysql.cj.jdbc.Driver</driverClassName>
<maxActive>50</maxActive>
<maxWait>60000</maxWait>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1</validationQuery>
<validationInterval>30000</validationInterval>
<defaultAutoCommit>true</defaultAutoCommit>
</configuration>
</definition>
</datasource>
当 useSSL=false 时它工作正常。 useSSL= true 给出以下连接失败错误:
wso2am_1 | [2019-05-06 07:37:25,095] ERROR - TransactionManager Failed to start new registry transaction.
wso2am_1 | com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
最佳答案
请尝试使用 requireSSL=true
。
关于mysql - 将docker中的WSO2 apim连接到本地机器中的mysql时在url中使用useSSL = true时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56001302/