java - 无法从 VisualVM 通过 JMX+SSL 进行连接

标签 java ssl jmx visualvm jvisualvm

我已经从一台没有 SSL 的机器连接了一个 JMX 连接。但是,当我通过应用程序启动时没有任何错误地提供 SSL 时,VisualVM 无​​法通过指定端口建立 JMX 连接。以下是我用来从 App 端建立 JMX 连接的命令。

java -Dcom.sun.management.jmxremote.port=4444 -Dcom.sun.management.jmxremote.password.file="C:/Program Files/Java/jre1.8.0_25/lib/management/jmxremote.password "-Djavax.net.ssl.keyStore="C:/Program Files/Java/jdk1.8.0_25/bin/testkeystore"-Djavax.net.ssl.keyStorePassword=123456 -Dcom.sun.management.jmxremote.ssl=true -Dcom.sun.management.jmxremote.authenticate=true DemoApp

请指教。

最佳答案

尽管这是一个很老的问题,@Klara 的评论帮助我非常快速地解决了类似的问题。

  1. 首先,我需要为 jVisualVM 准备我的信任库:

keytool -exportcert -alias server -keystore/jkslocation/serverKS.jks -storepass storepassword -file/certificatelocation/certificate.cer

  1. 然后我将导出的证书添加到信任库: keytool -import -alias server -keystore/jkslocation/clientTS.jks -storepass storepassword -file/certificatelocation/certificate.cer -v

  2. 然后将 clientTS.jks 复制到运行 jVisualVM 的客户端机器上。

  3. jVisualVM 使用信任库参数启动: ./jvisualvm -J-Djavax.net.ssl.trustStore=clientTS.jks -J-Djavax.net.ssl.trustStorePassword=clientTSPassword

  4. jVisualVM 可以访问服务器 JMX 端口。

关于java - 无法从 VisualVM 通过 JMX+SSL 进行连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27545644/

相关文章:

.htaccess - AWS负载均衡器: 503 (Service Unavailable: Back-end server is at capacity)

与 Apache Activemq 的 SSL 连接

java - 多个 MBean 的开销

java - Spring JMX 集成问题

java - 是否可以通过 JMX 使 JBoss 中的单个 session 无效?

java - 如何使 drools drl 文件在运行时访问更新的 jar

java - 添加类时找不到类异常

asp.net - HTTPS 内容处理附件

java - 将字符串转换为 GregorianCalendar

java - Google App Engine 上的 SSL 安全网站