我正在使用 jolokia 客户端连接到我的 fuse 服务器,该服务器使用 https for web。我收到以下异常。
org.jolokia.client.exception.J4pException: IO-Error while contacting server: javax.net.ssl.SSLException: hostname in certificate didn't match: <10.16.205.20> != at org.jolokia.client.J4pClient。 mapException(J4pClient.java:333) at org.jolokia.client.J4pClient.execute(J4pClient.java:198) at org.jolokia.client.J4pClient.execute(J4pClient.java:168) at org.jolokia.client.J4pClient .execute(J4pClient.java:117)
我已经将 10.16.205.20 的证书导入到我的客户端应用程序运行 jolokia 客户端的本地信任库 (cacerts)。我还验证了 hosts 文件中包含 10.16.205.20 服务器上证书中使用的域的条目。我正在使用以下代码进行连接。
J4pClient client = J4pClient.url(baseUrl).user(user.getName()).password(user.getPassword()).authenticator(new BasicAuthenticator().preemptive()).build();
J4pExecRequest request = new J4pExecRequest("org.apache.karaf:type=bundles,name=root","list");
J4pExecResponse response = client.execute(request);
JSONObject obj = response.asJSONObject();
((CloseableHttpClient)client.getHttpClient()).close();
此代码在使用 http 部署的服务器上运行良好。如果我遗漏了什么,请告诉我。