将Docker中的WSO2 API连接到本地计算机上的mysql时在URL中使用useSSL = true时出错

时间:2019-05-06 08:18:01

标签: mysql docker wso2 wso2-am

将docker中的WSO2 API连接到本地计算机中的mysql时,在url中使用ssl = true时出错。

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&amp;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

MySQL服务器为8.0,ssl变量为: enter image description here

1 个答案:

答案 0 :(得分:0)

请尝试使用requireSSL=true