通过JMX连接远程Glassfish 4.1 / 4.1.1的JConsole

6

在公网IP地址和JMX端口8986上运行的GlassFish。

启动时

JMXStartupService has started JMXConnector on JMXService URL service:jmx:rmi://test.anahata.net.au:8986/jndi/rmi://test.anahata.net.au:8986/jmxrmi]]

当我试图从另一个框架使用test.anahata.net.au:8986 + 用户名 + 密码连接JConsole时,我收到以下错误信息:

non-JRMP server at remote endpoint 

如果我尝试使用 service:jmx:rmi://test.anahata.net.au:8986/jndi/rmi://test.anahata.net.au:8986/jmxrmi 进行连接。

我会收到以下提示:

connection refused

domain.xml

> <admin-service system-jmx-connector-name="system"
> type="das-and-server">
>         <jmx-connector address="0.0.0.0" port="8986" name="system" auth-realm-name="admin-realm">
>           <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl"
> client-auth="want" cert-nickname="s1as"></ssl>
>         </jmx-connector>
>         <property name="adminConsoleContextRoot" value="/admin"></property>
>         <property name="adminConsoleDownloadLocation" value="${com.sun.aas.installRoot}/lib/install/applications/admingui.war"></property>
>         <property name="ipsRoot" value="${com.sun.aas.installRoot}/.."></property>
>         <das-config></das-config>
>       </admin-service>
> 
> ...
> <jvm-options>-Djava.rmi.server.hostname=test.anahata.net.au</jvm-options>

我在另一个运行着GlassFish 4.1.1和真实SSL证书的虚拟机上有类似的设置,我可以使用主机:端口连接到它,但如果我尝试使用service:jmx:rmi://host.com:8886/jndi/rmi://host.com:8886/jmxrmi进行连接,则会出现以下错误:


java.rmi.ConnectIOException: non-JRMP server at remote endpoint

有没有人理解这个?
2个回答

5
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.port=8686
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=myremoteip

自从Glassfish 4以后,这是唯一的方法。
尽管在运行asadmin enable-secure-admin之前,我已经成功连接到了Glassfish自己的JMX。
开启FINE日志查看是否出现“JMX身份验证期间的LoginException”。
javax.enterprise.system.tools.admin.security

无论如何,我的结论是很头疼,最好使用上述JVM JMX。

禁用安全是一个非常糟糕的想法。 - tak3shi

0

当您遇到此错误时:

java.rmi.ConnectIOException: non-JRMP server at remote endpoint

你的 GlassFish/Payara 域缺少 keystore.jks 文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接