尝试连接到终结点时出错。不能为 ssl 借用客户端
Error while trying to connect to the endpoint. Cannot borrow client for ssl
此错误正在 WSO2 API 管理器 wso2carbon.log..
中打印
sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
at org.wso2.carbon.databridge.agent.endpoint.binary.BinarySecureClientPoolFactory.createClient(BinarySecureClientPoolFactory.java:53)
... 9 more
TID: [-1] [] [2016-12-28 22:16:04,043] ERROR {org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker} - Error while trying to connect to the endpoint. Cannot borrow client for ssl://192.168.1.36:9711 {org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker}
org.wso2.carbon.databridge.agent.exception.DataEndpointAuthenticationException: Cannot borrow client for ssl://192.168.1.36:9711
at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.connect(DataEndpointConnectionWorker.java:100)
at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.run(DataEndpointConnectionWorker.java:43)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.wso2.carbon.databridge.agent.exception.DataEndpointException: Error while opening socket to 192.168.1.36:9711. Connection refused: connect
at org.wso2.carbon.databridge.agent.endpoint.binary.BinarySecureClientPoolFactory.createClient(BinarySecureClientPoolFactory.java:58)
at org.wso2.carbon.databridge.agent.client.AbstractClientPoolFactory.makeObject(AbstractClientPoolFactory.java:39)
at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1212)
at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.connect(DataEndpointConnectionWorker.java:92)
... 6 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
任何人都可以帮我解决这个问题吗?我只是在使用 WSO2 API 单独管理器
这里失败的是限制数据发布。可能的原因是 thrift 端口 (9711) 在与 192.168.1.36
.
不同的网络接口上打开
您可以在 api-manager.xml
的 <ThrottlingConfigurations>
部分配置正确的 IP。 (替换${carbon.local.ip}
)
<ThrottlingConfigurations>
<EnableAdvanceThrottling>true</EnableAdvanceThrottling>
<DataPublisher>
<Enabled>true</Enabled>
<Type>Binary</Type>
<ReceiverUrlGroup>tcp://${carbon.local.ip}:${receiver.url.port}</ReceiverUrlGroup>
<AuthUrlGroup>ssl://${carbon.local.ip}:${auth.url.port}</AuthUrlGroup>
<Username>${admin.username}</Username>
<Password>${admin.password}</Password>
此异常表明与 APIM-Publisher URL 建立的连接不是来自经过身份验证的客户端。
要解决此问题,您必须将创建的 .jks 的 public 证书导入 $Server_Home/repository/resources/security/client-truststore.jks 文件。 client-truststore.jks 包含证书条目,以便客户端可以使用它与后端通信。
按照以下步骤操作。
将 public 证书导出到 .pem 文件
keytool -export -alias wso2carbon -keystore wso2carbon.jks -file publickey.pem
上面的命令,遍历 wso2carbon.jks 密钥库并检查带有“wso2carbon”的条目。找到它后,将该条目中的 public 证书复制到 publickey.pem 文件。
将 .pem 文件导入客户端-truststore.jks。
keytool -import -alias wso2 -file publickey.pem -keystore client-truststore.jks -storepass wso2carbon
可能您已经从控制台更改了“admin”用户的密码,但您没有在与超级管理员关联的 deployment.toml 中更改它。
这样做我就解决了
此错误正在 WSO2 API 管理器 wso2carbon.log..
中打印sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
at org.wso2.carbon.databridge.agent.endpoint.binary.BinarySecureClientPoolFactory.createClient(BinarySecureClientPoolFactory.java:53)
... 9 more
TID: [-1] [] [2016-12-28 22:16:04,043] ERROR {org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker} - Error while trying to connect to the endpoint. Cannot borrow client for ssl://192.168.1.36:9711 {org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker}
org.wso2.carbon.databridge.agent.exception.DataEndpointAuthenticationException: Cannot borrow client for ssl://192.168.1.36:9711
at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.connect(DataEndpointConnectionWorker.java:100)
at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.run(DataEndpointConnectionWorker.java:43)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.wso2.carbon.databridge.agent.exception.DataEndpointException: Error while opening socket to 192.168.1.36:9711. Connection refused: connect
at org.wso2.carbon.databridge.agent.endpoint.binary.BinarySecureClientPoolFactory.createClient(BinarySecureClientPoolFactory.java:58)
at org.wso2.carbon.databridge.agent.client.AbstractClientPoolFactory.makeObject(AbstractClientPoolFactory.java:39)
at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1212)
at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.connect(DataEndpointConnectionWorker.java:92)
... 6 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
任何人都可以帮我解决这个问题吗?我只是在使用 WSO2 API 单独管理器
这里失败的是限制数据发布。可能的原因是 thrift 端口 (9711) 在与 192.168.1.36
.
您可以在 api-manager.xml
的 <ThrottlingConfigurations>
部分配置正确的 IP。 (替换${carbon.local.ip}
)
<ThrottlingConfigurations>
<EnableAdvanceThrottling>true</EnableAdvanceThrottling>
<DataPublisher>
<Enabled>true</Enabled>
<Type>Binary</Type>
<ReceiverUrlGroup>tcp://${carbon.local.ip}:${receiver.url.port}</ReceiverUrlGroup>
<AuthUrlGroup>ssl://${carbon.local.ip}:${auth.url.port}</AuthUrlGroup>
<Username>${admin.username}</Username>
<Password>${admin.password}</Password>
此异常表明与 APIM-Publisher URL 建立的连接不是来自经过身份验证的客户端。
要解决此问题,您必须将创建的
按照以下步骤操作。
将 public 证书导出到 .pem 文件 keytool -export -alias wso2carbon -keystore wso2carbon.jks -file publickey.pem
上面的命令,遍历 wso2carbon.jks 密钥库并检查带有“wso2carbon”的条目。找到它后,将该条目中的 public 证书复制到 publickey.pem 文件。
将 .pem 文件导入客户端-truststore.jks。 keytool -import -alias wso2 -file publickey.pem -keystore client-truststore.jks -storepass wso2carbon
可能您已经从控制台更改了“admin”用户的密码,但您没有在与超级管理员关联的 deployment.toml 中更改它。
这样做我就解决了