6

GlassFish 在具有公共 IP 地址和 jmx 端口 8986 的主机上运行

启动时

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 

如果我尝试使用服务连接:jmx:rmi://test.anahata.net.au:8986/jndi/rmi://test.anahata.net.au:8986/jmxrmi

我得到:

connection refused

域.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>

我在运行 gf 4.1.1 和真正的 SSL 证书的不同 vm 上有一个类似的设置,我可以使用 host:port 连接到它,但是如果我尝试使用 service:jmx:rmi://host.com:8886 连接/jndi/rmi://host.com:8886/jmxrmi

我明白了

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

有人对此有所了解吗?

4

2 回答 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 即可。

于 2016-02-25T09:16:05.440 回答
0

当您收到此错误时:

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

您缺少 glassfish/payara 域中的 keystore.jks 文件。

于 2020-01-04T14:07:45.017 回答